爬虫,听起来似乎很高端,然而也就那么回事,有很多爬虫框架,Java实现的有crawler4j,WebCollector,webMagic,Python实现的最著名的应该是Scrapy,工作中用到,但是没用什么爬虫框架,整个工作基于HttpClient和Jsoup。
-
流程
HttpClient去模拟get和post请求;
-
获取返回的数据,
如果是json或者XML,直接解析;
如果是html,使用Jsoup去分析;
-
技能要求
熟悉HTML,JavaScript,jQuery
熟悉HttpClient,Jsoup
-
使用工具
FireFox(FireBug)/ chrome : 用于观察HTML文档结构
WireShark:抓数据包(不是十分常用,在爬取不成功的时用于对比浏览器数据和模拟数据)
一些插件,如 RESTClient(不常用)
-
额外的一些记录
- HttpClient与jsonp
最近在爬取某市图书馆,发现其中有一个jsonp的请求,期初以为是一个普通的get请求,但是url感觉很奇怪,就搜了下,发现是jQuery的jsonp请求
#host地址已改
api.baidu.com/book/isbn/978-7-5442-4725-2/?glc=P2HBJ0315013&returnType=json&callback=insertAllBookMetaInfo&jsoncallback=jQuery1620053801810543760764_1464099784203&_=1464099796349
也了解了下jsonp,具体请参看:
1. [跨域JSONP原理及调用具体示例](http://blog.csdn.net/yuebinghaoyuan/article/details/32706277)
2. jsonp原理:[说说JSON和JSONP,也许你会豁然开朗,含jQuery用例](http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html)