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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: مشکل در دانلود یک وبسایت با دستور wget  (دفعات بازدید: 1507 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
وبسایت زیر دارای یکسری لینک html است که از صفحه اصلی امکان دسترسی به آنها نیست.
مثلا لینک زیر http://hosseinmohri.com/milani.html 

راهی از صفحه اصلی ندارد.

من خواستم با استفاده از دستور wget تمام این سایتو به صورت کامل دانلود کنم یعنی با دادن آدرس اصلی سایت به عنوان آرگومان wget بتوان تمام این سایت و لینک هایش را داشت.
در ضمن نمی خواهم آدرس کامل این لینک را بدهم چون لینک های دیگری هم مثل این هست مثلا 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.


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


« آخرین ویرایش: 30 آذر 1398، 05:47 ق‌ظ توسط esmaeelE »

آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1221
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
پاسخ : مشکل در دانلود یک وبسایت با دستور wget
« پاسخ #1 : 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
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل در دانلود یک وبسایت با دستور wget
« پاسخ #2 : 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://hosseinmohri.com/milani.html

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

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


آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1221
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
پاسخ : مشکل در دانلود یک وبسایت با دستور wget
« پاسخ #3 : 04 دی 1397، 03:21 ب‌ظ »
فکر نکنم همچین چیزی امکان داشته باشه. بلاخره اون لینک‌ها باید یه جایی باشن دیگه همینجوری که نمیشه بهشون دسترسی داشت !
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل در دانلود یک وبسایت با دستور wget
« پاسخ #4 : 04 دی 1397، 08:08 ب‌ظ »
شاید سوال اصلی همین باشه. که این لینک ها چطور به اون سایت مربوط میشن. و اینکه چطور باید اونها رو پیدا کرد؟

آفلاین majid.ee

  • Jr. Member
  • *
  • ارسال: 33
پاسخ : مشکل در دانلود یک وبسایت با دستور wget
« پاسخ #5 : 05 دی 1397، 02:32 ق‌ظ »
اینکه چطور به اون سایت مربوط می شین که واضحه. ولی اینکه چطور باید پیداشون کرد، تقریباً غیرممکنه. اگه صاحب یک سایت نخواد crawler ها به صفحه ی خاصی دسترسی پیدا کنن هیچ کس نمی تونه کاری کنه.
یکی از راه هایی که برای به دست آوردن sitemap هست استفاده از لینک زیره :

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

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

برای مثال این cache رو از صفحه ی home ببینین :
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

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل در دانلود یک وبسایت با دستور wget
« پاسخ #6 : 06 دی 1397، 03:53 ب‌ظ »
ممنون فکر می‌کنم استفاده از سرویس web.archive.org در این مورد مشکل را حل می‌کند.
و تا حد زیادی می تونم امید داشته باشم که همه لینک های مد نظر من پیدا شد.

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

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

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

« آخرین ویرایش: 07 خرداد 1399، 09:37 ق‌ظ توسط esmaeelE »