Як використовувати wget для завантаження зображень з повідомлень на facebook?


3

Це виглядає трохи складніше, ніж зазвичай. Я новий користувач wget, і я думав, що, можливо, можна якось увійти в facebook і завантажити тільки зображення з конкретної бесіди.

Я маю на увазі, я хотів би сказати wget мій пароль і користувача або використовувати куки (ІДК, як написати команду лінії або) і завантажити ТІЛЬКИ ЗОБРАЖЕННЯ з розмови.

Я знаю, що це, безумовно, можливо, але як я це зроблю?

Відповіді:


0

Ви можете створити скрипт для входу (якщо у вас є облікові дані, і якщо ви не зіткнулися з такими речами, як Captchas), використовуючи інструменти, такі як Ruby Mechanize, але для початку, ви можете почати з входу в веб-браузер і експортувати створені файли cookie. в процесі. Для цього вам не потрібно знати внутрішні форми входу FB, але вам потрібно встановити розширення для браузера, що дозволяє експортувати файли cookie (для конкретного сайту або всіх).

За допомогою Chrom (e | ium) можна використовувати https://chrome.google.com/webstore/detail/cookietxt-export/lopabhfecdfhgogdbojmaicoicjekelh . Це експортує файли cookie для сайту, на якому ви зараз перебуваєте.

Під час експорту ваших файлів cookie для входу (я припускаю, що ви зберегли їх cookies.txt ) потрібно завантажити їх у wget і постачання рядка UserAgent реального браузера (щоб не дати вам FB, що ви хочете). Нижче я використовую "Mozilla / 5.0 (Windows NT 6.3; Win64; x64) AppleWebKit / 537.36 (KHTML, як Gecko) Chrome / 37.0.2049.0 Safari / 537.36" http://useragentstring.com/ . Тепер ти можеш wget сторінку FB, як якщо б ви знаходилися в веб-переглядачі, у якому ви ввійшли в FB:

wget --load-cookies="cookies.txt"\
     -U "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36"\
      https://www.facebook.com

Замінити https://www.facebook.com з URL-адресою вашої розмови, і ви вже на півдорозі.

Більш жорсткою є робота з результатом. Ви не можете точно використовувати wget такі функції, як -A .jpg оскільки FB насправді не є такою простою статичною сторінкою. Більшість матеріалів на FB генерується динамічно з javascript. Якщо ви не хочете використовувати повний JavaScript-механізм, і якщо він надасть вам зображення, які реально виводяться, ви можете вдатися до таких грубих методів, як вилучення всіх img теги (незалежно від того, де вони знаходяться та чи вони діють), а потім завантажують кожну з них:

cat "$YOUR_DOWNLOADED_HTML" | grep '<img[^>]*>' -o | grep -Po '(?<=src=\")[^"]*' | \
while read url
  do
    wget --load-cookies="cookies.txt"\
         -U "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)            Chrome/37.0.2049.0 Safari/537.36"\
      "$url"
  done
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.