首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >它能通过Crawler4j检索网站内容吗?

它能通过Crawler4j检索网站内容吗?
EN

Stack Overflow用户
提问于 2016-09-11 20:44:01
回答 2查看 948关注 0票数 2

我对Java非常陌生。

现在,我想检索新闻文章内容使用谷歌新闻搜索-keyword:“玩具”从第1页到第10页。

AUICygE

即从第1页-第10页检索100个新闻内容。(假设每页有10篇新闻文章)

在我读了这个用于Crawler4j页面爬行和解析的Java与Jsoup之后

我决定尽可能地使用Crawler4j

给出基URI (主页) 从每个页面中获取所有URI,并检索这些URI的内容。对您检索的每个URI进行递归移动。仅检索该网站内URI的内容(可能有外部URI引用另一个网站,我们不需要这些)。

在我的例子中,我可以将google搜索页面从p1提供给p10 .And,如果我设置了intnumberOfCrawlers=1,它会返回100条新闻文章。

但是,当我尝试使用Crawler4j 示例的Quickstart时

它只返回从原始链接中找到的外部链接。就像这样:

代码语言:javascript
复制
    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**together? ?

EN

回答 2

Stack Overflow用户

发布于 2016-09-19 11:18:10

crawler4j尊重爬虫的礼貌,如robots.txt。在您的例子中,这个文件是下面的

检查此文件会发现,它不允许爬行给定的种子点:

代码语言:javascript
复制
 Disallow: /search

因此,除非您修改以忽略robots.txt,否则您将无法爬行给定的站点。然而,这被认为是不礼貌的,也不符合爬虫道德。

票数 4
EN

Stack Overflow用户

发布于 2017-01-09 14:40:42

你的帖子上有很多问题,我会尽力回答:

“它能通过Crawler4j检索网站内容吗?”

  1. 是的,可以,如github源代码上的示例所示
  2. 但是,为了获得更多的DOM解析/操作,我将鼓励您添加Jsoup。以下是珍汤的文档

“因此,我想知道crawler4j能不能执行我提出的函数,还是应该使用crawler4j +JSouptogether ?"

  1. 最多使用Crawler4j来实现它的伟大之处,爬行
  2. 通过方便的API提取和操作数据

“它只返回从原始链接中找到的外部链接。

  • BasicCrawler中,您需要在这里添加允许urls,在这里return href.startsWith("http://www.ics.uci.edu/");修改以包含更多
  • BasicCrawlController中,您需要在这里添加页面种子,config.setMaxDepthOfCrawling(2);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39440462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档