我的想法是使用wget创建一个非常大的博客的所有线程的完整列表(根据博客本身,线程的总数是50,000)。我在--spider模式下使用wget来抓取网站并在文本文件中输出网址。在1d 3h 3m 3s wget完成其工作后,我确定了“仅”9668文件与网站上显示的50,000个文件。根据wget 643链接被破坏所以我的第一个想法是检查丢失的线程是否与断开的链接有某种关联,但显然它们不是。博客将其主题保存在以年和月命名的文件夹中(例如/2012/01/name_of_thread.html)。一些损坏的链接似乎是指wget下载了一些线程的文件夹,因此我会在选定的文件夹中排除停电。还缺少线程(我在浏览博客时)似乎来自wget正确下载其他一些线程的同一文件夹。
我从哪里开始了解出了什么问题?
答案 0 :(得分:0)
有时,博客发布/托管平台使用不常见的robots.txt文件,因此可能需要使用-e robots = off。我有一个类似的问题,抓取一个WordPress博客,其中奇怪的输出由机器人排除形成 - 它有点类似于你的问题。
根据博客的结构,您可以通过更仔细的抓取获得更好的结果。如果它使用分页(www.site.com/archive/1/,www.site.com/archive/2 / ...),您可以通过for循环抓取每个页面并解析每个页面的内容。这将为您提供更多受控制的结果,因为您可以验证并测试一小部分数据(例如,一次测试10个线程),而不是同时测试所有50k线程。
该网站也可能报告错误的数字 - 您确定应该有50k个帖子吗?