Mik*_* B. 9 java web-crawler html-parsing jsoup crawler4j
我想获取页面的内容并提取其中的特定部分.据我所知,至少有两种解决方案可以完成这样的任务:Crawler4j和Jsoup.
它们都能够检索页面的内容并提取它的子部分.我唯一不明白的是它们之间的区别是什么?有一个类似的问题,标记为已回答:
Crawler4j是一个爬虫,Jsoup是一个解析器.
但我刚刚检查过,除了解析功能外,Jsoup 1.8.3还能够抓取页面,而Crawler4j不仅可以抓取页面而且可以解析其内容.
那么,请你澄清Crawler4j和Jsoup之间的区别吗?
Alk*_*ris 25
爬行比仅检索单个URI的内容更重要.如果您只想检索某些页面的内容,那么使用类似的东西并没有真正的好处Crawler4J.
我们来看一个例子吧.假设您要抓取网站.要求是:
About页面有链接的Home页面,但我们已经得到的内容Home页面,所以不要再次访问它).Home页面开始检索50个URI .这是一个简单的场景.尝试解决这个问题Jsoup.所有这些功能必须由您实施.对于这个问题,Crawler4J或任何爬虫微框架将会或者应该具有上述操作的实现.Jsoup当您决定如何处理内容时,强大的品质会大放异彩.
我们来看看解析的一些要求.
HTML规范的标记)这是Jsoup发挥作用的地方.当然,这里有一些重叠.有些事情也许有可能与两个Crawler4J或Jsoup,但是这并不能让他们等同.您可以删除从中检索内容的机制,Jsoup并且仍然是一个令人惊奇的工具.如果Crawler4J删除检索,那么它将失去一半的功能.
我在现实生活场景中的同一个项目中使用了它们.我抓住了一个网站,利用Crawler4J了第一个例子中提到的所有问题的优点.然后我传递了我检索到的每个页面的内容Jsoup,以便提取我需要的信息.我可以没用过其中一个吗?是的,我可以,但我必须实现所有缺少的功能.
因此,差异Crawler4J是一个爬虫,有一些简单的解析操作(你可以在一行中提取图像),但没有复杂CSS查询的实现.Jsoup是一个解析器,为您提供一个简单的API HTTP请求.对于任何更复杂的事情,都没有实施.
| 归档时间: |
|
| 查看次数: |
3817 次 |
| 最近记录: |