Как сохранить всю информацию из профилей Facebook
В этой статье мы поговорим о программе Ultimate Facebook Scraper (UFS). Она сохраняет фотографии, видео, сообщения, списки друзей, коллег и пр., события и всю остальную информацию из профиля пользователя Facebook. Можно указать список сразу большого количества пользователей и UFS последовательно и структурировано сохранить их информацию.
Для работы программы нужно указать email и пароль пользователя Facebook. Эта программа не может извлечь данные, которые недоступны этому пользователю. То есть, например, если списки друзей видны только друзьям, а пользователь, под которым вы работаете, не является другом, то список друзей извлечён не будет.
Ещё одно важное замечание: Facebook часто меняет имена тегов div в исходном HTML коде, поэтому инструмент может работать лучше или хуже — в зависимости от сделанных изменений в социальной сети и в коде UFS. Кстати, если вам понравилась эта программа, вы ей часто пользуетесь и ваших навыков достаточно для поиска изменений и исправления исходного кода Ultimate Facebook Scraper, то вы можете присоединиться к сообществу и помогать актуализировать инструмент.
На момент написания, кстати, у меня не сохраняются фотографии и видео — будем надеется, что скоро поправят. Либо можете это сделать сами. Кстати, программа является интересными примером, как можно автоматизировать действия и парсить данные с сайтом, которые имеют хорошую защиту от ботов. Используемый в Ultimate Facebook Scraper подход позволяет обойти практически любую защиту от ботов.
Для работы программы обязательно нужно графическое окружение, поскольку она запустит полноценный браузер Google Chrome и все действия будет выполнять в нём. Программа может работать в Linux и Windows, но в Windows вам предварительно нужно будет настроить возможность запускать скрипты Python.
Для работы программы нужно сделать так, чтобы программа могла запустить Google Chrome с правами обычного пользователя. Самый простой способ реализовать это — создать нового пользователя Kali Linux и работать под ним.
Как установить Ultimate Facebook Scraper (UFS) в Kali Linux
Создание нового пользователя в Kali Linux:
useradd -m -G sudo -s /bin/bash new_user
Замените new_user на желаемое имя.
Установите для него пароль:
passwd new_user
Установите Google Chrome в Kali Linux, для этого:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb dpkg -i google-chrome-stable*.deb apt-get install -f
Проверьте, что программа запускается:
xhost + && su -c /usr/bin/google-chrome new_user && xhost -
Теперь перезагрузитесь и войдите под обычным пользователем (не root).
Установите требуемую зависимость (обязательно без sudo!):
pip3 install selenium
Скачайте саму программу:
git clone https://github.com/harismuneer/Ultimate-Facebook-Scraper cd Ultimate-Facebook-Scraper/src/
Затем выполните:
wget https://chromedriver.storage.googleapis.com/`curl -s https://chromedriver.storage.googleapis.com/ | grep -E -o '<Key>[0-9.]+/chromedriver_linux64.zip' | tail -1 | sed 's/<Key>//'` rm chromedriver unzip chromedriver_linux64.zip
Как запустить Ultimate Facebook Scraper в Kali Linux
В файл credentials.txt
gedit credentials.txt
несите email и пароль имеющейся у вас учётной записи на Facebook:
email = "" password = ""
В файл input.txt введите список целей:
gedit input.txt
В качестве целей нужно указывать URL адреса на профили в Facebook — один адрес на строку, например:
https://www.facebook.com/andrew.ng.96 https://www.facebook.com/zuck
В файле scraper.py
gedit ./scraper.py
вы можете сделать некоторые настройки:
# загружать фотографии или нет: download_uploaded_photos = True download_friends_photos = True # если загружать фотографии, то полный размер или привью (маленький размер) # если выбран маленький размер, то загрузка произойдёт быстро (поскольку они уже присутствуют на странице, # если выбран большой размер, то каждую фотографию требуется открыть и это займёт время friends_small_size = False photos_small_size = False
Затем выполните запуск:
python3 ./scraper.py
Во время работы, программа откроет веб-браузер, введёт логин и пароль, перейдёт на страницу интересующего вас профиля и сама будет ходить по разделам и сохранять данные.
Собранные данные сохраняются в папку Data, отдельно для каждого профиля.
Решение проблем
Программа работает неидеально, как уже было сказано, программа в данное время не сохраняет фотографии и видео. К тому же иногда программа может самопроизвольно остановиться, либо появляются ошибки от веб-браузера и драйвера.
Рассмотрим ещё несколько проблем и пути их решения.
Kindly replace the Chrome Web Driver with the latest one from
Полный вывод ошибки:
Starting Scraping... Kindly replace the Chrome Web Driver with the latest one from http://chromedriver.chromium.org/downloads and also make sure you have the latest Chrome Browser version. Your OS: linux
Возможные причины:
- не установлен Google Chrome
- слишком старая версия Chrome Web Driver (этот файл поставляется вместе с самой UFS)
- вы работаете от пользователя root и поэтому Google Chrome не может запуститься
- разные версии Google Chrome и Chrome Web Driver (в этом случае зайдите на страницу http://chromedriver.chromium.org/downloads и скачайте нужную версию)
Чтобы проверить версию Chrome Web Driver:
./chromedriver --version
Версию браузера Google Chrome можно посмотреть в меню «О программе».
Your email or password is missing. Kindly write them in credentials.txt
Нужно заполнить учётные данные в файле credentials.txt.
Input file is empty.
Нужно добавить одну или больше целей (ссылки на профили в соцсети) в файл input.txt.
Связанные статьи:
- Исследование на основе открытых источников с OSRFramework (поиск по почте, нику, домену) (100%)
- Обход запрета показа исходного HTML кода, обход социальных блокировщиков и других мер противодействия сбору информации о сайте (100%)
- Social Mapper: инструмент анализа социальных сетей, который ищет связь между профилями через распознавание лиц (100%)
- Построение интерактивных карт камер, принтеров, твитов и фотографий (100%)
- Утилиты для сбора информации и исследования сети в Windows и Linux (100%)
- Новая версия Kismet (RANDOM - 6.1%)