爬蟲,聽起來似乎很高端,然而也就那么回事,有很多爬蟲框架,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)