Загрузка веб-страницы и связанных ресурсов в WARC в Python
Я заинтересован в загрузке для последующего анализа группы веб-страниц. Есть две вещи, которые я хотел бы сделать:
- Загрузите страницу и связанные ресурсы (изображения, несколько страниц, связанных со статьей и т. Д.) В файл WARC.
- измените все ссылки, чтобы они указывали на локальные файлы.
Я хотел бы сделать это на Python.
Есть ли хорошие библиотеки для этого? Кажется, Scrapy предназначен для очистки веб-сайтов, а не отдельных страниц, и я не уверен, как создавать файлы WARC. Вызов wget - выполнимое решение, если нет чего-то более родного для Python. Heritrix - это полное излишество, и это не так уж много решений для Python. wpull был бы идеальным вариантом, если бы имел хорошо документированную библиотеку python, но вместо этого он, по-видимому, в основном приложение.
Есть другие идеи?
1 ответ
Просто используйте wget, это самый простой и стабильный инструмент, который вы можете сканировать в Интернете и сохранять в варке.
man wget или просто для начала
--warc-file=FILENAME save request/response data to a .warc.gz file
-p, --page-requisites get all images, etc. needed to display HTML page
обратите внимание, что вам не нужно менять какие-либо ссылки, Warc сохраняет оригинальные веб-страницы. это работа программного обеспечения воспроизведения (openwayback, pywb), чтобы сделать содержимое warc доступным для просмотра снова.
если вам нужно использовать Python: https://github.com/internetarchive/warc - библиотека по умолчанию
посмотрите на это, если вы хотите вручную создать файл https://github.com/ampoffcom/html2warc