Puede iniciar sesión en el script (si tiene las credenciales y no se enfrenta a cosas como Captchas) mediante el uso de herramientas como Ruby Mechanize, pero para empezar, puede comenzar por iniciar sesión con su navegador web y exportar las cookies creadas. en el proceso. Para eso, no necesita conocer la parte interna de los formularios de inicio de sesión de FB, pero sí necesita instalar una extensión de navegador que le permita exportar cookies (para un sitio en particular o para todos).
Con Chrom (e | ium) puedes usar https://chrome.google.com/webstore/detail/cookietxt-export/lopabhfecdfhgogdbojmaicoicjekelh . Esto exporta cookies para el sitio en el que se encuentra actualmente.
Con sus cookies de inicio de sesión exportadas (supongo que las guardó en cookies.txt
) necesitas cargarlos en wget
y suministre una cadena de UserAgent de un navegador real (para que FB no le dé lo que quiere). A continuación utilizo "Mozilla / 5.0 (Windows NT 6.3; Win64; x64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 37.0.2049.0 Safari / 537.36", que obtuve de http://useragentstring.com/ . Ahora usted puede wget
una página de FB como si estuviera en un navegador web donde ha iniciado sesión en 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
Reemplazar https://www.facebook.com con la URL de tu conversación y estás a mitad de camino.
La parte más difícil es tratar con el resultado. No puedes usar exactamente wget
características tales como -A .jpg
Porque un FB no es realmente una página estática tan simple. La mayoría de las cosas en FB se generan dinámicamente con javascript. Si no desea utilizar un motor javascript completo y quiere que le proporcione las imágenes que realmente se renderizan, puede recurrir a métodos toscos, como grepping a todos img
etiquetas (independientemente de dónde se encuentren y si están vigentes) y luego descargue cada una de ellas:
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