南博成 向杰益 沈曉紅 李邱溢 潘君妮 張斌
摘 要: 網絡爬蟲已成為提高跨境電商數據化運營效率的一項熱門技術。本文通過敘述商業爬蟲軟件采集商品頁面信息的基本方法,論述了爬蟲程序提取商品價格與評價信息的常用算法,分析了抓取Ajax生成的Json信息、實現動態翻頁和應對網站的反對爬蟲的技術和方法。實踐證明,由于電商平臺反爬蟲策略會動態調整,如何利用人工智能技術更好地模仿人類行為來實現有效的信息采集是跨境電商爬蟲技術提升的要點。
關鍵詞: 跨境電商; 爬蟲; Ajax; Json; 反爬蟲
中圖分類號:TP391.1 文獻標志碼:A 文章編號:1006-8228(2018)08-13-03
Research on web crawling technology for cross border e-commerce
Nan Bocheng, Xiang Jieyi, Shen Xiaohong, Li Qiuyi, Pan Junni, Zhang Bin
(Zhejiang Yuexiu University of Foreign Language, Shaoxing, Zhejiang 312000, China)
Abstract: Web crawler is a popular technology to promote the efficient operations of cross border e-commerce in big data era. This paper analyzes the normal method of crawling data with commercial crawler software, discusses the usual algorithms of extracting goods evaluations and prices with web crawler program, and describes the method of extracting information of Json file created by Ajax, the method of turning page and the method of reducing the chance that would be detected by anti-crawler techniques and methods of web sites. The practice has proved that the effective way of extracting information for cross border e-commerce is to change the web crawler's access method, and let it imitates human behavior by using AI technology.
Key words: cross border e-commerce; web crawler; Ajax; Json; anti-crawler
0 引言
近年來,跨境電子商務業務量以每年近30%的速度快速增長,得到眾多企業的關注。跨境電商平臺擁有海量的交易數據,跨境電商企業可以利用這些數據進行管理決策、實時監測營銷活動、優化供應鏈、開展精準營銷、提供個性化服務。因此,跨境電商的競爭已經逐步變成了數據擁有的競爭,82%的企業正在面臨著大數據的挑戰,89%的公司因為數據處理的不夠而失去了銷售機會[1]。
因此,讓從業人員掌握采集跨境電商平臺數據的方法,獲得海量競爭對手和產品的相關信息,避免以往只能靠經驗去做商業決斷是有必要的。舉例來說,因為讓顧客感知價值是驅動顧客產生購買行為的重要因素[2]。于是對跨境電商平臺的評價數據進行分析,從而有效感知客戶對產品質量、網站服務質量、風險等因素的認知,會是一個提高經營效益有效手段。由于數據采集是實現數據分析的前提,企業要想用大數據的方式進行跨境貿易管理,就有必要學習并掌握商品信息采集的方法[3]。本文通過敘述商業爬蟲軟件采集商品頁面信息的基本流程,論述了爬蟲程序提取商品價格與評價信息的算法,具體分析了抓取Ajax生成的Json文件中信息,實現了動態翻頁和應對網站的反爬蟲技術細節,希望能拋磚引玉。
1 商業爬蟲軟件及其信息采集方法
對于沒有編程能力的跨境電商從業人員可以使用商業爬蟲軟件來采集商品信息。例如用”八爪魚”軟件可以方便地提取亞馬遜網站中的商品名稱、價格和評價。其具體步驟如下:
⑴ 用關鍵詞查詢或點擊分類來打開亞馬遜的一個商品列表頁面,拷貝其網址;
⑵ 啟動“八爪魚”軟件,點擊“自定義采集”后,將網址粘貼到采集目標頁;
⑶ 目標頁被打開后,點擊頁面底端的“下一頁”鏈接,系統會彈出菜單,選擇“循環點擊下一頁”;
⑷ 點擊第一個商品的名稱,在彈出的菜單中選擇“全部”,實現自動分頁并采集列表中的所有商品;
⑸ 在彈出的菜單中點擊“采集對象文本”,然后點擊保存并采集,就可以采集并導出數據了;
⑹ 將導出的數據上傳到“微圖”生成可視化圖表進行分析;
⑺ 將評價等數據導入分析工具 Rost,獲取評價的情感數據。
說明:如果要進入每個商品詳情頁,則需在第⑸步選擇“循環點擊每個元素”,然后可以在出現的詳情頁中點擊評價,選擇“點擊對象”,再在評價的底部點擊“查看全部評論”,選擇“點擊該元素”后,用同樣的方法翻頁提取評價詳情頁中的每一條評價。
雖然商用軟件功能較為完整,可以通過所見即所得技術來設置參數,實現信息的快速抓取。但是要通過鼠標點擊來準確表達復雜的需求則較為困難。此外采集軟件功能有限,不能在采集前對數據做個性化篩選,需要更多的人工參與和管理,采集效率和靈活性明顯不足等問題也給運營企業帶來困擾。為此,自行編寫主題爬蟲[4]程序或許是提升采集效能、滿足企業個性化需求的有效方法。
2 爬蟲程序提取信息的基本算法
4.2 發現爬蟲后,網站一般采用的反爬蟲方法
發現爬蟲后,網站一般采用的反爬蟲方法有以下:
⑴ 大量采用JavaScript加載網頁元素。因為爬蟲一般不會提取所有網頁的嵌入對象,特別是JS文件,如果有個別JS鏈接被經常訪問,而其他JS鏈接訪問量很少,就可以斷定是爬蟲;
⑵ 在服務器中開啟帶寬限制模塊,限制單個IP地址的訪問量,設置訪問頻次限制;
⑶ 設置某目錄最多只能連接一個IP;
⑷ 分析日志,找出并發量大的匿名訪問IP,和對擁有很多HEAD請求的某個IP進行屏蔽。
4.3 爬蟲必需知道是否被反爬,方法是查看請求代碼,如403表示Forbidden,然后采取措施
為此,爬蟲必需知道是否被反爬,方法是查看請求代碼,如403表示Forbidden,然后采取措施:
⑴ 動態IP切換技術,例如模擬路由器登錄,這樣就可不斷換IP地址了;
⑵ 采用多主機策略,讓多臺電腦輪番爬取頁面,例如使用代理服務器;
⑶ 爬的慢一點,如果被阻止,則立即降低訪問頻次;
⑷ 降低訪問頻次、頻繁改變User-Agent;
⑸ 組合規則進行批量爬取,不要對單一頁面長期爬取;
⑹ 按照Robots.txt定義的行為去抓取;
⑺ 偽裝用戶代理;
⑻ 檢測網站的多個CDN,從鏡像服務器中提取信息。
相對來說,面對跨境電子商務平臺,需要應用人工智能技術,讓爬蟲更真實地模仿人類瀏覽網頁的形態,以防止被發現。
5 程序運行效果
爬蟲運行后輸出的excel文件截圖,見圖1。
圖1 評價信息輸出
6 結束語
本文通過分析一個簡單的網絡爬蟲,實現了用商品列表頁面為種子頁面,用循環翻頁抓取商品詳情頁的方法提取其中的評價,執行效率較高。雖然該功能也可以用商業軟件來實現,編寫程序的方式更為靈活和高效和實用。
事實表明,跨境電商網站會不斷調整反爬策略,還會使用大數據方法分析日志,需要嘗試更多智能的應對方法。雖然本文沒有討論如何讓爬蟲學會像人一樣慢慢悠悠地隨機訪問網頁的方法,但也給出應對反爬蟲的基本策略。該文中的爬蟲代碼基本可行。希望能與大家探討,進一步提升跨境電商數據抓取技術。
參考文獻(References):
[1] 戴明華,馬擇陸,范曉男.大數據背景下跨境電商發展模式研
究[J].電子商務,2017.5:10-11,55
[2] 李凌慧,曹淑艷.B2C跨境電子商務消費者購買決策影響因
素研究[J].國際商務(對外經濟貿易大學學報),2017.1:151-160
[3] 鄒科文,李達,鄧婷敏,李嘉振,陳義明.網絡爬蟲針對“反爬”
網站的爬取策略研究[J].電腦知識與技術,2016.12(7):61-63
[4] 于娟,劉強.主題網絡爬蟲研究綜述[J].計算機工程與科學,
2015.37(2):231-237
[5] 范傳輝.Python爬蟲開發與項目實戰[M].機械工業出版社,
2017.