网络爬虫是否应该接收查询?

时间:2012-07-07 23:32:06

标签: html web-crawler

最近几天我编写了一个网络抓取工具。我留下的唯一问题是,“标准”网络抓取工具抓取链接查询,如下所示: https://www.google.se/?q=stackoverflow 或者它是否跳过查询并像这样选择它们: https://www.google.se

3 个答案:

答案 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。这是一个很长的名单!