WGet或cURL:镜像网站从http://site.com和没有内部访问

我试过wget -m wget -r和一大堆变体。 我在http://site.com上获得了一些脚本中的一些图像,甚至没有使用fscking -p参数。 唯一的HTML页面是index.html,还有几个引用,所以我很茫然。 在cURL开发者网站上的curlmirror.pl似乎也没有完成任务。 有什么我失踪? 我已经尝试了不同级别的recursion,只有这个URL,但我感觉我失去了一些东西。 长话短说,有些学校允许学生提交networking项目,但是他们想知道如何为教师评分而收集所有内容,而不是去所有的外部网站。

更新 :我想我找出了这个问题。 我虽然到其他网页的链接是在下载的index.html页面。 我了。 发现页面的页脚(包含所有导航链接)由JavaScript文件Include.js处理,该文件读取JLSSiteMap.js和其他一些JS文件以进行页面导航等。 因此,wget不会select其他的依赖关系,因为很多这种垃圾不是在网页上处理的。 我如何处理这样的网站? 这是几个问题的案例之一。 如果wget无法parsingJavaScript,我认为做得不多。

不幸的是wget无法parsingJavaScript,所以抓取这样的网站相当困难。

好消息是, search引擎通常不会对它进行parsing ,所以他们很可能会向search引擎提供稍微不同的内容(这是其他原因的一个坏主意),以便他们可以获得他们的网页索引。 他们必须提供search引擎页面,如果他们想要实际上被索引,不用JavaScript就可以访问。 如果是这种情况,您可以通过使用wget欺骗Googlebot来解决此问题,例如:

 wget --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" ... 

很less的网站会真正检查您的IP地址,看看您是否真的是Googlebot,但这远远不如常理。

另一件要做的事情是检查/sitemap.xml文件的存在,并将其用作要爬网的URL列表。 一些网站提供这个文件,谷歌和其他search引擎用来蜘蛛他们的内容,但没有说你不能也使用它…