网络爬虫
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。通俗讲 就是将你在网页上看到的信息通过代码程序自动获取到本地的过程。
常用框架:
java:webmagic,http://webmagic.io/docs/zh/
python:scrapy,http://blog.csdn.net/sunnyxiaohu/article/details/50787430
python
网络功能强大,模拟登陆、解析javascript,短处是网页解析
python写起程序来真的很便捷,著名的python爬虫有scrapy等
python流行起来,从某程序员聚集的网站来看 python爬虫教程满天飞。著名的scrapy便是python开发的。
python开发爬虫非常灵活,最适合一次性采集数据,写几行代码就可以把初步结构化的数据库入库。urllib、requests、beautifulsoup等模块可以轻松构建一个基本的采集程序。
使用python时会遇到中文乱码问题,window开发 Linux 部署乱码问题会让你感觉更棘手,最好统一开发部署环境,有钱公司用macbookpro,没钱装个ubuntu。
python遇到复杂的js是表现和java差不多,你都会想自己实现一个浏览器,phantomjs 不够稳定,中介再加上一层selenium 写写demo还可以
java
java有很多解析器,对网页的解析支持很好,缺点是网络部分
java开源爬虫非常多,著名的如 nutch 国内有webmagic
java优秀的解析器有htmlparser、jsoup
对于一般性的需求无论java还是python都可以胜任。
如需要模拟登陆、对抗防采集选择python更方便些,如果需要处理复杂的网页,解析网页内容生成结构化数据或者对网页内容精细的解析则可以选择java。