您查询的关键词是:java 哪 个爬虫框架 好用 
下面是原始网址 https://www.oschina.net/question/1422726_2158080 在 2021-04-11 19:24:52 的快照。

360搜索与该网页作者无关,不对其内容负责。

哪个开源的爬虫框架比较成熟???Java的最好?? - OSCHINA - 中文开源技术交流社区

哪个开源的爬虫框架比较成熟???Java的最好??

源1码1 发布于 2016/03/15 09:25
阅读 9K+
收藏 0
哪个开源的爬虫框架比较成熟???Java的最好??
加载中
1
让往事随风
让往事随风
1、如果是定向爬取几个页面,做一些简单的页面解析, 爬取效率不是核心要求,那么用什么语言差异不大。
当然要是页面结构复杂,正则表达式写得巨复杂,尤其是用过那些支持xpath的类库/爬虫库后,就会发现此种方式虽然入门门槛低,但扩展性、可维护性等都奇差。因此此种情况下还是推荐采用一些现成的爬虫库,诸如xpath、多线程支持还是必须考虑的因素。

2、如果是定向爬取,且主要目标是解析js动态生成的内容
此时候,页面内容是有js/ajax动态生成的,用普通的请求页面->解析的方法就不管用了,需要借助一个类似firefox、chrome浏览器的js引擎来对页面的js代码做动态解析。
此种情况下,推荐考虑casperJS+phantomjs或slimerJS+phantomjs ,当然诸如selenium之类的也可以考虑。

3、如果爬虫是涉及大规模网站爬取,效率、扩展性、可维护性等是必须考虑的因素时候
大规模爬虫爬取涉及诸多问题:多线程并发、I/O机制、分布式爬取、消息通讯、判重机制、任务调度等等,此时候语言和所用框架的选取就具有极大意义了。
PHP对多线程、异步支持较差,不建议采用。
NodeJS:对一些垂直网站爬取倒可以,但由于分布式爬取、消息通讯等支持较弱,根据自己情况判断。
Python:强烈建议,对以上问题都有较好支持。尤其是Scrapy框架值得作为第一选择。优点诸多:支持xpath;基于twisted,性能不错;有较好的调试工具;
此种情况下,如果还需要做js动态内容的解析,casperjs就不适合了,只有基于诸如chrome V8引擎之类自己做js引擎。
至于C、C++虽然性能不错,但不推荐,尤其是考虑到成本等诸多因素;对于大部分公司还是建议基于一些开源的框架来做,不要自己发明轮子,做一个简单的爬虫容易,但要做一个完备的爬虫挺难的。
Python的较多,思路清晰操作相对简单,多参考一些 python框架开发实例l。
1
mycms2013
mycms2013
广度爬nutch +solr ,深度爬 webmgic + redis or mongodb
0
batcom
batcom
python 的比较多,成熟的有Scrapy 极其好用,架构和思路都很清晰
0
ProgrammerJiang
ProgrammerJiang
又是你、大型爬虫用nutch,功能比较全。小型爬虫用webmagic 简单,容易上手。nutch 很大的、不容易上手
0
chunyisong
chunyisong

引用来自“让往事随风”的评论

1、如果是定向爬取几个页面,做一些简单的页面解析, 爬取效率不是核心要求,那么用什么语言差异不大。
当然要是页面结构复杂,正则表达式写得巨复杂,尤其是用过那些支持xpath的类库/爬虫库后,就会发现此种方式虽然入门门槛低,但扩展性、可维护性等都奇差。因此此种情况下还是推荐采用一些现成的爬虫库,诸如xpath、多线程支持还是必须考虑的因素。

2、如果是定向爬取,且主要目标是解析js动态生成的内容
此时候,页面内容是有js/ajax动态生成的,用普通的请求页面->解析的方法就不管用了,需要借助一个类似firefox、chrome浏览器的js引擎来对页面的js代码做动态解析。
此种情况下,推荐考虑casperJS+phantomjs或slimerJS+phantomjs ,当然诸如selenium之类的也可以考虑。

3、如果爬虫是涉及大规模网站爬取,效率、扩展性、可维护性等是必须考虑的因素时候
大规模爬虫爬取涉及诸多问题:多线程并发、I/O机制、分布式爬取、消息通讯、判重机制、任务调度等等,此时候语言和所用框架的选取就具有极大意义了。
PHP对多线程、异步支持较差,不建议采用。
NodeJS:对一些垂直网站爬取倒可以,但由于分布式爬取、消息通讯等支持较弱,根据自己情况判断。
Python:强烈建议,对以上问题都有较好支持。尤其是Scrapy框架值得作为第一选择。优点诸多:支持xpath;基于twisted,性能不错;有较好的调试工具;
此种情况下,如果还需要做js动态内容的解析,casperjs就不适合了,只有基于诸如chrome V8引擎之类自己做js引擎。
至于C、C++虽然性能不错,但不推荐,尤其是考虑到成本等诸多因素;对于大部分公司还是建议基于一些开源的框架来做,不要自己发明轮子,做一个简单的爬虫容易,但要做一个完备的爬虫挺难的。
Python的较多,思路清晰操作相对简单,多参考一些 python框架开发实例l。
+ 开源的爬虫框架1
0
flwcy
flwcy

如果简单的爬取分析,就自己研究HttpClient获取网页,然后Jsoup解析就好了。

框架的话就楼上说的那些了

0
数据工厂
数据工厂
建议你可以试试神箭手云爬虫框架(shenjianshou.cn),一站式云端爬虫编写平台,只需要写js就可以实现爬虫,自带js渲染、代理ip、验证码识别、图表控件、数据自动发布到网站等爬虫扩展函数库。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部