Загрузка веб-страницы и связанных ресурсов в 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

Другие вопросы по тегам