基于Python的網(wǎng)絡爬蟲在物流信息追蹤中的應用
【文章頁數(shù)】:4 頁
【部分圖文】:
圖1宅急送鏈接請求頭
鑒于許多網(wǎng)站(如上述的DHL和宅急送)都采取了一些“反爬蟲”措施以防止腳本工具自動登錄網(wǎng)頁,故而在利用Python執(zhí)行頁面訪問代碼前,應先修改“請求頭”(RequestHeaders)使網(wǎng)絡爬蟲更像人類用戶[2]。以宅急送為例,右鍵查詢頁面進入瀏覽器“審查元素”(Inspect....
圖3宅急送表單源代碼
XHR全稱XMLHttpRequest,是一個用以實現(xiàn)AJAX功能的JavaScript應用程序接口(API)。過濾出DHL運單狀態(tài)頁面Network選項卡的XHR類,可發(fā)現(xiàn)另一個包含運單號的路徑。通過requests模塊的get函數(shù)獲得其響應對象后,再調(diào)用json方法解碼即可返....
圖4運單號源代碼
將圖3源代碼的子項展開后,可知網(wǎng)頁表單中應包含運單號和驗證碼兩個參數(shù)。其中,運單號部分代碼如圖4所示。示例代碼中的“名稱”(name)決定了表單變量名,即在模擬表單提交行為時,運單號變量名稱應為orderNos。同理,根據(jù)圖5所示代碼,驗證碼變量名則是captcha。
圖6驗證碼示例
上述程序首先調(diào)用會話對象的get方法可獲取宅急送網(wǎng)站為表單提供的驗證碼圖片響應對象,再通過io庫的BytesIO函數(shù)將該對象內(nèi)容轉換為二進制數(shù)據(jù),最后使用PIL模塊的Image.open函數(shù)打開驗證碼,如圖6所示。對于人類而言,能夠十分容易地認出圖中字符,但計算機卻很難直接理解這....
本文編號:3924960
本文鏈接:http://sikaile.net/guanlilunwen/wuliuguanlilunwen/3924960.html