我对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,否则您将无法爬网给定的站点。但是,这并不礼貌,也不符合爬虫道德。

09-08 00:02