将网页和相关资源下载到 python 中的 WARC
Downloading a webpage and associated resources to a WARC in python
我有兴趣下载一堆网页以供日后分析。我想做两件事:
- 将页面和相关资源(图像、与文章相关的多个页面等)下载到 WARC 文件。
- 更改所有链接以指向现在的本地文件。
我想在 Python 中完成此操作。
有什么好的库可以做到这一点吗? Scrapy 似乎旨在抓取网站,而不是单个页面,我不确定如何生成 WARC 文件。如果没有更多 python 本机,调用 wget 是一个可行的解决方案。 Heritrix 完全矫枉过正,而不是 python 解决方案。如果 wpull 有一个记录良好的 python 库,那将是理想的选择,但它似乎主要是一个应用程序。
还有其他想法吗?
只需使用 wget,是您可以拥有的最简单、最稳定的抓取网页并保存到 warc 的工具。
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:
internetarchive/warc 是默认库
如果您想手动制作 warc 文件,请查看此内容ampoffcom/htmlwarc
我有兴趣下载一堆网页以供日后分析。我想做两件事:
- 将页面和相关资源(图像、与文章相关的多个页面等)下载到 WARC 文件。
- 更改所有链接以指向现在的本地文件。
我想在 Python 中完成此操作。
有什么好的库可以做到这一点吗? Scrapy 似乎旨在抓取网站,而不是单个页面,我不确定如何生成 WARC 文件。如果没有更多 python 本机,调用 wget 是一个可行的解决方案。 Heritrix 完全矫枉过正,而不是 python 解决方案。如果 wpull 有一个记录良好的 python 库,那将是理想的选择,但它似乎主要是一个应用程序。
还有其他想法吗?
只需使用 wget,是您可以拥有的最简单、最稳定的抓取网页并保存到 warc 的工具。
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: internetarchive/warc 是默认库
如果您想手动制作 warc 文件,请查看此内容ampoffcom/htmlwarc