انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: esmaeelE در 03 دی 1397، 08:08 ب‌ظ

عنوان: مشکل در دانلود یک وبسایت با دستور wget
ارسال شده توسط: esmaeelE در 03 دی 1397، 08:08 ب‌ظ
وبسایت زیر دارای یکسری لینک html است که از صفحه اصلی امکان دسترسی به آنها نیست.
http://hosseinmohri.com/
 (http://hosseinmohri.com/)
مثلا لینک زیر http://hosseinmohri.com/milani.html 
 (http://hosseinmohri.com/milani.html)
راهی از صفحه اصلی ندارد.

من خواستم با استفاده از دستور wget تمام این سایتو به صورت کامل دانلود کنم یعنی با دادن آدرس اصلی سایت به عنوان آرگومان wget بتوان تمام این سایت و لینک هایش را داشت.
در ضمن نمی خواهم آدرس کامل این لینک را بدهم چون لینک های دیگری هم مثل این هست مثلا http://www.hosseinmohri.com/amini.html (http://www.hosseinmohri.com/amini.html)

دستور مقابل این لینک ها را دانلود نمی کند.

torsocks wget -r www.hosseinmohri.com

فایل های دانلودی این هاست

www.hosseinmohri.com/image/1bg.jpg
www.hosseinmohri.com/chapter5.html


که شامل دو لینک  موردنظرنیست (ممکن است لینک های دیگری هم باشد)

خروجی spider
torsocks wget --spider  www.hosseinmohri.com
Spider mode enabled. Check if remote file exists.
--2018-12-24 19:56:30--  http://www.hosseinmohri.com/
Resolving www.hosseinmohri.com (www.hosseinmohri.com)... 66.96.149.32
Connecting to www.hosseinmohri.com (www.hosseinmohri.com)|66.96.149.32|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5268 (5.1K) [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.


آیا راهی هست که بتوانم در گام اول این لینک ها را دانلود کنم و سپس فایل های صوتی درون آن ها را؟


عنوان: پاسخ : مشکل در دانلود یک وبسایت با دستور wget
ارسال شده توسط: Silvio Dante در 04 دی 1397، 09:30 ق‌ظ
سلام
من کاملا درست متوجه نشدم هدفتون چیه اما فکر کنم برای چیزی که مدنظر شماست lynx بیشتر بدرد بخوره.
مثلا تمام لینک‌های یه صفحه رو لیست می‌کنیم:
➜  ~ lynx -dump -listonly http://hosseinmohri.com/           

References

   1. http://hosseinmohri.com/chapter1.html
   2. http://hosseinmohri.com/chapter2.html
   3. http://hosseinmohri.com/chapter3.html
   4. http://hosseinmohri.com/chapter4.html
   5. http://hosseinmohri.com/chapter5.html

منطقا می‌تونیم خروجی رو داخل یه فایل هم ذخیره کنیم:
lynx -dump -listonly http://hosseinmohri.com/ > output
عنوان: پاسخ : مشکل در دانلود یک وبسایت با دستور wget
ارسال شده توسط: esmaeelE در 04 دی 1397، 02:54 ب‌ظ
ممنون از شما
ولی این دستور هم فقط لینک هایی که از صفحه اصلی وجود دارد لیست می‌کند در حالی که من می خواهم لینک های دیگری از این سایت که از صفحه home راهی به آنها نیست هم داشته باشم.

torsocks lynx -dump -listonly http://hosseinmohri.com/   

References

   1. http://hosseinmohri.com/chapter1.html
   2. http://hosseinmohri.com/chapter2.html
   3. http://hosseinmohri.com/chapter3.html
   4. http://hosseinmohri.com/chapter4.html
   5. http://hosseinmohri.com/chapter5.html


دو نمونه از این لینک ها

http://www.hosseinmohri.com/amini.html
 (http://www.hosseinmohri.com/amini.html)
http://hosseinmohri.com/milani.html (http://hosseinmohri.com/milani.html)

روی همین سایت هستند ولی از صفحه اصلی که به عنوان آرگومان استفاده کردیم به آن ها دسترسی نداریم.

من می‌خواهم تمام لینک های این سایت رو که شامل مواردی مثل دو تای بالاست داشته باشم.

عنوان: پاسخ : مشکل در دانلود یک وبسایت با دستور wget
ارسال شده توسط: Silvio Dante در 04 دی 1397، 03:21 ب‌ظ
فکر نکنم همچین چیزی امکان داشته باشه. بلاخره اون لینک‌ها باید یه جایی باشن دیگه همینجوری که نمیشه بهشون دسترسی داشت !
عنوان: پاسخ : مشکل در دانلود یک وبسایت با دستور wget
ارسال شده توسط: esmaeelE در 04 دی 1397، 08:08 ب‌ظ
شاید سوال اصلی همین باشه. که این لینک ها چطور به اون سایت مربوط میشن. و اینکه چطور باید اونها رو پیدا کرد؟
عنوان: پاسخ : مشکل در دانلود یک وبسایت با دستور wget
ارسال شده توسط: majid.ee در 05 دی 1397، 02:32 ق‌ظ
اینکه چطور به اون سایت مربوط می شین که واضحه. ولی اینکه چطور باید پیداشون کرد، تقریباً غیرممکنه. اگه صاحب یک سایت نخواد crawler ها به صفحه ی خاصی دسترسی پیدا کنن هیچ کس نمی تونه کاری کنه.
یکی از راه هایی که برای به دست آوردن sitemap هست استفاده از لینک زیره :

https://www.xml-sitemaps.com/details-hosseinmohri.com-a272ddd44.html (https://www.xml-sitemaps.com/details-hosseinmohri.com-a272ddd44.html)

همون طور که می بینین اثری از url هایی مثل http://www.hosseinmohri.com/amini.html وجود نداره.

ولی ممکنه این سوال براتون پیش بیاد که چطور گوگل توی نتایج جستجوش اون صفحات رو میاره :
https://www.google.com/search?client=firefox-b-ab&q=site%3Ahosseinmohri.com (https://www.google.com/search?client=firefox-b-ab&q=site%3Ahosseinmohri.com)

در جواب باید بگم لینک اون صفحات قبلاً توی صفحه ی اصلی وجود داشته ولی به دلایل نامعلومی صاحب سایت اون لینک ها رو کامنت کرده و دیگه لود نمی شن. ولی گوگل چون قبلاً اون صفحات رو ایندکس کرده بوده مشکلی نداره.

برای مثال این cache رو از صفحه ی home ببینین :
https://web.archive.org/web/20180429013251/http://www.hosseinmohri.com:80/ (https://web.archive.org/web/20180429013251/http://www.hosseinmohri.com:80/)

در واقع اومدن و از صفحه ی اول این محتوی رو کامنت کردن که باعث شده لینک های مدنظر شما از دسترس خارج بشن :

<!--

< class="sub3"><a href="home.html">Home</a>
 
    < class="sub3"><a href="bio.html">بیوگرافی</a>
    < class="sub3">
      <a href="book.html">تألیفات حسین مهری</a>
       < class="sub3"><a href="contact.html">نظریات و پیشنهاد های شما </a></p>
    </th>
  </tr>
<tr>
    <td colspan="3" align="center" ><h2 class="sub3">مصاحبه های حسین مهری با شخصیتهای ایرانی در عرصه سیاست و فرهنگ</h2></td>
  </tr> 
   <tr>
    <td height="55"><h2>1</h2></td>
    <td><h2><a href="amini.html">مصاحبه های حسین مهری با محمد امینی</a></h2></td>
    <td><A HREF="javascript:popUp('image/amini.jpg')"><img src="image/amini.jpg" width="100" height="80" onmouseover="this.src='image/amini.jpg';this.height=125;this.width=165" onmouseout="this.src='image/amini.jpg';this.height=60;this.width=80"></A></td>
  </tr> 
    <tr>
    <td height="55"><h2>2</h2></td>
    <td><h2><a href="mohri_fatemi_jan31.mp3">مصاحبه حسین مهری با دکتر شاهین فاطمی</a></h2>    <h2><a href="mohri_fatemi_jan31.mp3" target="_blank">جمعه ٢٨ دسامبر ٢٠١٢</a></h2></td>
    <td><A HREF="javascript:popUp('image/fatemi.jpg')"><img src="image/fatemi.jpg" width="80" height="80" onmouseover="this.src='image/fatemi.jpg';this.height=125;this.width=125" onmouseout="this.src='image/fatemi.jpg';this.height=60;this.width=80"></A> </td>
  </tr>
   <tr>
    <td width="21" ><h2>3</h2></td>
    <td width="644"><h2><a href="moshiri.html" target="_blank">مصاحبه های حسین مهری با بهرام مشیری
    </a></h2></td>
    <td width="257"><A HREF="javascript:popUp('image/moshiri.jpg')"><img src="image/moshiri.jpg" width="100" height="80" onmouseover="this.src='image/moshiri.jpg';this.height=125;this.width=165" onmouseout="this.src='image/moshiri.jpg';this.height=60;this.width=80"> </td>
  </tr>



  <tr>
    <td height="55"><h2>4</h2></td>
    <td><h2><a href="articles.html">مصاحبه دویچه وله با حسین مهری</a></h2></td>
    <td><A HREF="javascript:popUp('image/mohri3.jpg')"><img src="image/mohri3.jpg" width="100" height="80" onmouseover="this.src='image/mohri3.jpg';this.height=125;this.width=165" onmouseout="this.src='image/mohri3.jpg';this.height=60;this.width=80"></A> </td>
 
  </tr>
   

<tr>
    <td height="55"><h2>5</h2></td>
    <td><h2><a href="andisheh.html">مصاحبه های حسین مهری در تلویزیون اندیشه</a></h2></td>
    <td>&nbsp;</td>
 
  </tr>
  <tr>
    <td height="55"><h2>6</h2></td>
    <td><h2><a href="milani.html" target="_blank">مصاحبه های حسین مهری با عباس میلانی</a>
</h2></td>
    <td><A HREF="javascript:popUp('image/milani.jpg')"><img src="image/milani.jpg" width="100" height="80" onmouseover="this.src='image/milani.jpg';this.height=125;this.width=165" onmouseout="this.src='image/milani.jpg';this.height=60;this.width=80"></td>
  </tr>

  </tr>


</table>
-->

اگه این لینک ها کامنت نشده بودن با این دستور می تونستین صفحات اون رو دانلود کنین :
wget -r -l0 hosseinmohri.com
ولی الان باید صفحه به صفحه دانلود کنین.

لینک هایی که به دلایل نامعلوم کامنت شدن اینا هستن :
hosseinmohri.com/home.html
hosseinmohri.com/bio.html
hosseinmohri.com/book.html
hosseinmohri.com/contact.html
hosseinmohri.com/amini.html
hosseinmohri.com/image/amini.jpg
hosseinmohri.com/mohri_fatemi_jan31.mp3
hosseinmohri.com/image/fatemi.jpg
hosseinmohri.com/moshiri.html
hosseinmohri.com/image/moshiri.jpg
hosseinmohri.com/articles.html
hosseinmohri.com/image/mohri3.jpg
hosseinmohri.com/andisheh.html
hosseinmohri.com/milani.html
hosseinmohri.com/image/milani.jpg
عنوان: پاسخ : مشکل در دانلود یک وبسایت با دستور wget
ارسال شده توسط: esmaeelE در 06 دی 1397، 03:53 ب‌ظ
ممنون فکر می‌کنم استفاده از سرویس web.archive.org (http://web.archive.org) در این مورد مشکل را حل می‌کند.
و تا حد زیادی می تونم امید داشته باشم که همه لینک های مد نظر من پیدا شد.

این لیستی که آقا مجید از لینک ها ارایه کردنو به عنوان آرگومان به wget داده و دانلود انجام می‌شود.
لینک ها را در فایلی به نام link قرار داده و دستور زیر همه مصاحبه ها در قالب mp3 را دانلود می‌کند.
torify wget -r -c -A.mp3 -i  link
از دو راه می توان لینک های سایت رابه دست آورد.

۱)‌ از سورس صفحه اصلی سایت که همان طوری که دوستان اشاره کردن برخی لینک ها کامنت شدن که می توان با  right click-> view page source لینک ها را در سورس صفحه می‌بینیم.
۲) استفاده از سرویس web.archive.org (http://web.archive.org) و به دست آوردن نسخه ای از سایت که شامل لینک های حذف شده هست.

اما می‌خواستم بدونم سرویس از پیش آماده یا راهی برای نوشتن برنامه ای داریم که بدونم روی این دامین فقط همین لینک هایی که به کمک دوستان پیدا شد داریم یا چیز دیگه ای هم هست؟