【问题标题】:Scrapy VS wget VS curlScrapy VS wget VS curl
【发布时间】:2016-06-23 04:24:04
【问题描述】:

我目前正在做一个需要两个主要功能的项目:

  1. 仅从网站下载单个 HTML 页面(例如 www.my website.com/index.html)

  2. 递归地从网站下载每个 HTML 页面,不包括外部链接(基本上是下载整个网站)

我需要所有 HTML 页面中包含的所有图像和链接,而不仅仅是文本。

我目前正在为这两个功能使用scrapy。它运作良好,但我想知道使用 wget 或 curl 是否会更好。

我的问题:

哪种工具最适合我用来实现我的目标?

【问题讨论】:

标签: curl scrapy web-crawler wget


【解决方案1】:

Wget 可以做到这一点。

见:http://www.linuxjournal.com/content/downloading-entire-web-site-wget

基本上

$ wget \
 --recursive \
 --no-clobber \
 --page-requisites \
 --html-extension \
 --convert-links \
 --restrict-file-names=windows \
 --domains website.org \
 --no-parent \
     www.website.org/tutorials/html/

--recursive 应该保存链接

--page-requisites应该保存css、图片等

【讨论】:

  • wget 比 scrapy 好吗?
  • 我认为他们做不同的事情......一个是框架,另一个是 CLI 工具。基本上 wget 会立即完成这一切,除了执行带有几个标志的命令之外,无需编写任何额外的代码。
  • 您正在寻找的是制作网站的“本地镜像”。 wget 或任何其他镜像工具都可以完成这项工作。 Scrapy 用于更复杂的事情,例如从网站中提取结构化数据或提交表单。
【解决方案2】:

1。 wget 可以做到这一点,但可以通过使用其他工具轻松完成

wget -m -k -K -E -p http://url/of/web/site

-p 用于下载资产。等待选项 -w 10 --random-wait 如果您正在抓取一些第三方网站,可以添加。

2。 HTTRACK 是复制整个站点内容的有效方法。此工具能够获取使具有工作代码内容的网站离线工作所需的部分。

  1. WebCopier 在 Windows 上。

【讨论】:

    猜你喜欢
    • 2012-03-13
    • 2020-02-24
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 2011-03-01
    相关资源
    最近更新 更多