我們知道,網絡爬蟲是一種按照一定的規則,自動地抓取網站信息的程序或者腳本。那麼,我們怎麼通過網絡爬蟲獲取所需要的網站信息呢?
不同的網站有不同的規則,爬蟲工程師根據這些規則設計不同的網絡爬蟲,以此來順利獲取所需要的信息。
一、開放API的網站
一個網如果開放了API,那麼就可以直接GET到它的json數據。有三種方法可以判斷一個網站是否開放了API。
1、在站內尋找API入口;
2、用搜索引擎搜索“某網站API”;
3、抓包,有的網站雖然用到了ajax,但是通過抓包還是能夠獲取XHR裏的json數據的(可用抓包工具抓包,也可以通過瀏覽器按F12抓包:F12-Network-F5刷新)。
二、不開放API的網站
1、如果網站是靜態頁面,那麼可以用requests庫發送請求,再通過HTML解析庫(lxml、parsel等)來解析響應的text;解析庫強烈推薦parsel,不僅語法和css選擇器類似,而且速度也挺快,Scrapy用的就是它。
2、如果網站是動態頁面,可以先用selenium來渲染JS,再用HTML解析庫來解析driver的page_source。
三、反爬蟲網站
很多網站都具有反爬蟲策略,常見的有:驗證碼、登陸、限制IP等。
1、驗證碼。可以利用打碼平臺破解(如果硬上的話用opencv或keras訓練圖);
2、登陸。利用requests的post或者selenium模擬用戶進行模擬登陸;
3、限制IP。購買億牛雲代理IP(免費IP效果非常差,不建議使用)。
寫爬蟲程序應該注意的問題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
爬蟲代理加強版和API接口調用流程說明
laical1
2019-07-28 13:00:34
如何突破網站反爬機制
laical1
2019-07-19 13:01:49
爬蟲中http協議請求太多的解決方案
laical1
2019-07-13 12:57:25
python爬蟲如何設置隨機UA
laical1
2019-07-10 12:57:35
python爬蟲的問題的解決方案
laical1
2019-07-09 12:59:28
java爬蟲常用設置代理IP教程
laical1
2019-07-04 12:59:16
Python爬蟲課程資料代碼
laical1
2019-06-25 13:03:08
C Sharp的爬蟲代理的代碼示例
laical1
2019-06-22 12:57:32
Selenium爬蟲代理代碼示例
laical1
2019-06-20 12:57:21
PHP爬蟲語言配置億牛雲爬蟲代理的方案
laical1
2019-06-19 12:57:06
JAVA配置億牛雲爬蟲代理i的方案
laical1
2019-06-18 12:57:10
爬蟲使用代理IP如何高效採集數據
億牛雲範範
2019-05-11 13:33:14
爬蟲使用代理IP爲什麼不能全部成功
億牛雲範範
2019-05-10 13:34:53