爬蟲,聽起來似乎很高端术幔,然而也就那么回事另萤,有很多爬蟲框架湃密,Java實現(xiàn)的有crawler4j诅挑,WebCollector,webMagic泛源,Python實現(xiàn)的最著名的應該是Scrapy拔妥,工作中用到,但是沒用什么爬蟲框架达箍,整個工作基于HttpClient和Jsoup没龙。
-
流程
HttpClient去模擬get和post請求;
-
獲取返回的數據缎玫,
如果是json或者XML硬纤,直接解析;
如果是html赃磨,使用Jsoup去分析筝家;
-
技能要求
熟悉HTML,JavaScript邻辉,jQuery
熟悉HttpClient溪王,Jsoup
-
使用工具
FireFox(FireBug)/ chrome : 用于觀察HTML文檔結構
WireShark:抓數據包(不是十分常用,在爬取不成功的時用于對比瀏覽器數據和模擬數據)
一些插件值骇,如 RESTClient(不常用)
-
額外的一些記錄
- HttpClient與jsonp
最近在爬取某市圖書館莹菱,發(fā)現(xiàn)其中有一個jsonp的請求,期初以為是一個普通的get請求吱瘩,但是url感覺很奇怪道伟,就搜了下,發(fā)現(xiàn)是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)