Web crawler 如何';抓斗';来自其他网站的内容

Web crawler 如何';抓斗';来自其他网站的内容,web-crawler,archive,Web Crawler,Archive,一位朋友问我这个问题,我无法回答 他问:我正在制作这个网站,你可以在这里存档你的网站 它的工作原理是这样的,你进入你的网站,比如something.com,然后我们的网站抓取该网站上的内容,比如图片,所有这些,然后上传到我们的网站。然后,人们可以在oursite.com/something.com上查看站点的精确副本,即使挂起something.com的服务器已关闭 他怎么能这样做?(php?)还有什么要求?使用wget。gnuwin32包中的linux版本或windows版本 听起来你需要创建

一位朋友问我这个问题,我无法回答


他问:我正在制作这个网站,你可以在这里存档你的网站

它的工作原理是这样的,你进入你的网站,比如something.com,然后我们的网站抓取该网站上的内容,比如图片,所有这些,然后上传到我们的网站。然后,人们可以在oursite.com/something.com上查看站点的精确副本,即使挂起something.com的服务器已关闭


他怎么能这样做?(php?)还有什么要求?

使用wget。gnuwin32包中的linux版本或windows版本

听起来你需要创建一个webcrawler。Web爬虫可以用任何语言编写,不过我建议使用C++(使用CURL)、java(使用URLCONNECT)或Python(W/URRLIB2)。您可能还可以使用curl或wget命令和BASH快速破解一些东西,尽管这可能不是最好的长期解决方案。另外,不要忘记,当你抓取某人的网站时,如果“robots.txt”文件存在,你应该下载、解析并尊重它

  • 使用curl获取html
  • 现在将所有图像、css、javascript更改为绝对url(如果它们是相对url)。(这有点不道德)。您可以从站点获取所有这些资产和主机
  • 尊重所有网站的“robots.txt”
    “可以存档站点的站点”如果您熟悉php,则有称为WebCrawler和CssDom的Symfony2组件。Symfony的创建者制作了一个演示如何使用这些组件进行网页抓取。我认为使用wget只能得到html。如果站点有其他源(图片、文件…),您仍然会引用相同的(可能不可用)资源。如果关键是提供一个临时的“故障转移”站点,他可能也需要下载资源。这是错误的,wget可以创建镜像,也可以获取其他资源。当然,您必须正确设置它。