我正在做一个网络爬行项目,通过RapidMiner5/6中的文本挖掘来分析各种众筹网站的项目。我已经构建了一个可以工作的文本分析器,但我被困在网络爬行部分。问题是,网络爬虫确实在请求的站点中爬行,但不存储它们。我已经尝试过页面大小、深度等,但程序仍然跳过这些站点。问题很可能出在我的存储规则上。当试图在Kickstarter的网站上爬行时,它们看起来如下所示:
后跟匹配的URL:
.+kickstarter.+
使用匹配的URL进行存储:
https://www\.kickstarter\.com\/projects.+
http://www\.kickstarter\.com\/projects.+
(?i)http.*://www\.kickstarter\.com\/projects.+需要存储的示例URL为:
http://www.kickstarter.com/projects/corvuse/bhaloidam-an-indie-tabletop-storytelling-game?ref=spotlight(无广告意图)
日志如下所示:
Mar 12, 2014 11:50:37 AM INFO: Following link http://www.kickstarter.com/projects/corvuse/bhaloidam-an-indie-tabletop-storytelling-game?ref=spotlight
Mar 12, 2014 11:50:37 AM INFO: Following link http://kickstarter.tumblr.com/post/12036057734/todays-project-of-the-day-is-bhaloidam-an-indie
Mar 12, 2014 11:50:37 AM INFO: Following link http://kickstarter.tumblr.com/tagged/bhaloidam
Mar 12, 2014 11:50:38 AM INFO: Discarded page "http://kickstarter.tumblr.com/post/79165806431/do-you-like-coloring-and-also-have-questions" because url does not match filter rules.正如你所看到的,它遵循这个过程,跳过这些链接,甚至没有说它与过滤规则不匹配,所以它被丢弃了,所以我甚至不确定在这些情况下,程序是否会将这些链接与规则进行比较。我在日志中看到了很多前面有(“跟随链接..”)的链接。但很少有人在前面加上("Discarded page...")。这是否意味着它只检查几个页面,或者只是不会通知我每个被丢弃的页面?我可以手动保存这些项目的站点,但很难理解的是,我不想在数百个站点上这样做。
我还为Indiegogo构建了一个模型,如果我只使用第三个存储规则(并删除前两个),也可以使用相同的模型。所以我认为这也是我的Kickstarter模型的问题,但在这种情况下也没有运气。
提前感谢!
干杯
发布于 2014-03-17 20:33:28
您只能有一个存储规则。这就是当你只有第三个正则表达式时它能工作的原因。但是,您可以将三个store正则表达式合并为一个:
https://www\.kickstarter\.com\/projects.+|http://www\.kickstarter\.com\/projects.+|(?i)http.*://www\.kickstarter\.com\/projects.+顺便说一下,这是个有趣的项目。如果你能给我们写封邮件,告诉我们更多关于它的情况,那就太好了。
https://stackoverflow.com/questions/22436594
复制相似问题