在进行web爬网时,如何找到低质量URL的模式并对这些类型的URL进行较少的爬网?

在进行web爬网时,如何找到低质量URL的模式并对这些类型的URL进行较少的爬网?,url,web-crawler,Url,Web Crawler,像exmpl.com/search.php?q=hey这样的URL有各种各样的GET参数,我想对这些链接进行分类,以防止我的爬虫程序对这些“低优先级”URL进行爬行。这取决于你在爬行什么,以及你想用它做什么,如果是一些特定的网站或是广泛的爬行。有时网站的所有者也不希望你抓取这些URL,因为它们会产生额外的流量(流量对两者都没有用处),他们可能会使用robots.txt文件来实现这一点。看一看(无论如何你应该尊重它) 您所称的这些低质量URL也可能发生在以下情况: 在电子商店里,你不断地向购物车

exmpl.com/search.php?q=hey
这样的URL有各种各样的GET参数,我想对这些链接进行分类,以防止我的爬虫程序对这些“低优先级”URL进行爬行。

这取决于你在爬行什么,以及你想用它做什么,如果是一些特定的网站或是广泛的爬行。有时网站的所有者也不希望你抓取这些URL,因为它们会产生额外的流量(流量对两者都没有用处),他们可能会使用robots.txt文件来实现这一点。看一看(无论如何你应该尊重它)

您所称的这些低质量URL也可能发生在以下情况:

  • 在电子商店里,你不断地向购物车中添加商品,而后台却被订单搞得一团糟
  • 博客平台,你点击评论、回复、喜欢等等,结果很奇怪
  • 爬虫陷阱来自日历或其他无限URL,其中只有参数更改,但页面相同
  • 链接农场,尤其是分类广告网站,其中每个产品或区域都作为一个子域生成,而您最终拥有同一网站的数千个子域;即使每个网站下载的URL数量有限,这个数量级也会接管你的抓取
如果您在用户代理上有联系人,他们有时会与您联系,以停止对特定类型的URL进行爬网,或与您一起调整应爬网或不应爬网的内容以及爬网方式(例如,每秒的请求数)

所以,这取决于你想爬什么。看看边疆,试着找出奇怪的行为:

  • 同一网站的数百个URL,其中URL基本相同,只有一个或几个参数发生更改
  • 数百个用于博客平台或电子商店的URL,其中的参数看起来很奇怪或不断重复(查看这些平台并尝试在其中找到模式,如
    (.*\?widgetType=.*)
    (.*\&action=buy\u now.*)
  • 看起来像来自日历的URL
  • 数百个URL与您不感兴趣的表单交互(如您提到的搜索)
  • 一个网站的URL数量太高,无法满足您对该网站或该类型网站的期望
  • 网站的许多子域过高
  • 包含大量403、404或500或非200代码的网站,以及哪些URL负责这些代码
  • 一个不会停止增长的前沿领域,哪些网站和URL对此负责(哪些URL被添加得如此之多,以至于其增长异常)
所有这些URL都很适合从爬网中排除。标识公共部分并将其用作排除规则中的正则表达式