假设我正在尝试抓取一个网站并跳过一个像这样结束的页面:
我目前正在 Ruby 中使用 Anemone gem 来构建爬虫。我正在使用skip_links_like方法,但我的模式似乎永远不匹配。我试图使其尽可能通用,因此它不依赖于子页面,而只是=2105925
(数字)。
我努力了/=\d+$/
and /\?.*\d+$/
但它似乎不起作用。
这类似于在 Anemone 中抓取扩展名为 pdf、zip 的网页时跳过 https://stackoverflow.com/questions/8341203/skipping-web-pages-with-extension-pdf-zip-from-crawling-in-anemone/8349005#8349005但我无法用数字而不是扩展名来使它有价值。
另外,测试http://regexpal.com/ http://regexpal.com/与图案=\d+$
将成功匹配http://misc.com/test/index.php?page=news&subpage=20060118
EDIT:
这是我的全部代码。我想知道是否有人能准确地看出出了什么问题。
require 'anemone'
...
Anemone.crawl(url, :depth_limit => 3, :obey_robots_txt => true) do |anemone|
anemone.skip_links_like /\?.*\d+$/
anemone.on_every_page do |page|
pURL = page.url.to_s
puts "Now checking: " + pURL
bestGuess[pURL] = match_freq( manList, page.doc.inner_text )
puts "Successfully checked"
end
end
我的输出是这样的:
...
Now checking: http://MISC.com/about_us/index.php?page=press_and_news&subpage=20110711
Successfully checked
...