我对Java非常陌生。
现在,我想使用Google新闻搜索-keyword:“玩具”从第1页到第10页检索新闻文章的内容。
https://www.google.com/search?q=toy&biw=1366&bih=645&tbm=nws&source=lnms&sa=X&ved=0ahUKEwiTp82syoXPAhUMkpQKHawZBOoQ_AUICygE
那就是从第1页到第10页检索100条新闻内容。(假设每页有10条新闻文章)
我读完这个之后
Crawler4j vs. Jsoup for the pages crawling and parsing in Java
我决定尽可能使用Crawler4j
提供基本URI(主页)
从每个页面获取所有URI,然后检索其中的内容
太。
为您检索的每个URI递归移动。
仅检索本网站内URI的内容(有
可能
引用另一个网站的外部URI,我们不需要这些)。
就我而言,我可以将google搜索页从p1赋予p10。如果我设置intnumberOfCrawlers=1
,它将返回100条新闻报道
但是,当我尝试Crawler4j example的快速入门时
它仅返回从原始链接中找到的外部链接。
像这些:
URL: http://www.ics.uci.edu/~lopes/
Text length: 2619
Html length: 11656
Number of outgoing links: 38
URL: http://www.ics.uci.edu/~welling/
Text length: 4503
Html length: 23713
Number of outgoing links: 24
URL: http://www.ics.uci.edu/~welling/teaching/courses.html
Text length: 2222
Html length: 15138
Number of outgoing links: 33
URL: http://www.ics.uci.edu/
Text length: 3661
Html length: 51628
Number of outgoing links: 86
因此,我想知道
crawler4j
是否可以执行我提出的功能。还是应该一起使用crawler4j
+ JSoup
? 最佳答案
crawler4j
尊重爬虫的礼貌,例如robots.txt
。在您的情况下,此文件为以下one。
检查此文件可以发现,它不允许爬取给定的种子点:
Disallow: /search
因此,除非修改classes以忽略
robots.txt
,否则您将无法爬网给定的站点。但是,这并不礼貌,也不符合爬虫道德。