使用Python将网页和相关资源下载到WARC

问题描述 投票:0回答:1

我有兴趣下载一堆网页供以后分析。 我想做两件事:

  • 将页面和关联资源(图像、与文章关联的多个页面等)下载到 WARC 文件。
  • 更改所有链接以指向现在的本地文件。

我想用 Python 来做这个。

有什么好的库可以做到这一点吗? Scrapy 似乎旨在抓取网站,而不是单个页面,而且我不确定如何生成 WARC 文件。 如果没有更多 Python 原生的东西,调用 wget 是一个可行的解决方案。 Heritrix 完全是矫枉过正,并不是一个 Python 解决方案。 如果 wpull 有一个记录良好的 python 库,那将是理想的选择,但它似乎主要是一个应用程序。

还有其他想法吗?

python html web-scraping warc
1个回答
4
投票

只需使用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

© www.soinside.com 2019 - 2024. All rights reserved.