最近几天我编写了一个网络抓取工具。我留下的唯一问题是,“标准”网络抓取工具抓取链接查询,如下所示: https://www.google.se/?q=stackoverflow 或者它是否跳过查询并像这样选择它们: https://www.google.se
答案 0 :(得分:0)
如果使用GET请求访问链接,则是,Web浏览器应该抓取它。
仍有许多网站使用查询字符串来识别正在请求的内容,例如在博客/article.php?article_id=754。如果网络浏览器没有遵循这样的链接,那么网络上的大量内容就无法编入索引。
答案 1 :(得分:0)
如果您指的是抓取某种网络资源索引:
答案很长但总之我的意见是: 如果您有这个“页面/资源”:许多其他页面指向https://www.google.se/?q=stackoverflow(即它具有较大的链接内度),那么不将它集成到您的索引可能意味着您错过了一个非常重要的节点webgraph。另一方面,想象一下这种类型的链接有多少链接google.com/q="query“。可能是一个巨大的数字,所以这对你的爬虫/索引系统肯定是一个巨大的开销。
答案 2 :(得分:0)
在您的特定示例中,许多使用/robots.txt提供搜索禁止搜索引擎结果页面的网站。
您确实需要使用cgi args抓取网页,但强大的抓取工具必须了解不相关或有害的cgi args。
使用urchin cgi args(utm_campaign等)进行抓取只是意味着您将会看到重复的内容。
为每个提取添加会话cgi arg的网站不仅具有重复内容,而且如果您出现过时的cgi arg,一些特别聪明的网站会出错!这使他们几乎不可能爬行。
某些网站与cgi args有链接,这些链接对访问很危险。可公开编辑的数据库中的“删除”按钮。
谷歌网站管理员工具有一种方法告诉谷歌你的网站应该忽略哪些cgi args,但这对其他搜索引擎没有帮助。我不知道是否有人为此问题处理robots.txt扩展程序。
在过去的4年中,blekko已经成为一个糟糕的args正则表达式,我们删除了URL。这是一个很长的名单!