高雅婷 劉雅舉















摘? 要:隨著網上購物的盛行,淘寶、京東、拼多多等互聯網商業(yè)巨頭也展開了激烈的競爭。收集商品、評論及銷量數據以及對各種商品及用戶的消費場景進行分析成了必不可少的環(huán)節(jié)。然而傳統的人工收集并整理數據顯然效率不足以滿足當下各大公司以及其他相關產業(yè)對這些數據的需要。近年來Python爬蟲技術的逐漸成熟,給網購數據收集并整理帶來了極大的便利。
關鍵詞:網購;Python;pip;爬蟲技術
中圖分類號:TP311.1? ? ? ? ? ? ? ? ? ?文獻標識碼:A文章編號:2096-4706(2021)16-0026-06
Online Shopping Data Crawling Based on Python
GAO Yating, LIU Yaju
(Hebei Agricultural University, Cangzhou? 061000, China)
Abstract: With the popularity of online shopping, Taobao, Jingdong, Pinduoduo and other internet business giants also launches a fierce competition. Collecting product, review, and sales data, as well as analyzing the consumption scenarios of various products and users, has become an essential links. However, the traditional manual collection and sorting of data is obviously not efficient enough to meet the needs of companies and other related industries. In recent years, the gradual maturity of Python crawler technology has brought great convenience to the collection and sorting of online shopping data.
Keywords: online shopping; Python; pip; crawler technology
0? 引? 言
我們會發(fā)現我們常用的購物軟件如:淘寶、京東等總是能給我們推薦符合我們興趣的商品。這就是因為他們收集了消費者的POI(興趣點)[1],通過調用數據庫來分析到每個消費者的消費偏好,進而給消費之提供感興趣的商品。各大網購公司,以及相關產業(yè)都需要消費者的消費數據如某商品的銷量以及評論信息、各種商品及用戶的消費場景等數據來進行數據分析。本文將以基于Python的網上購物數據-淘寶商品銷量數據爬取為例進行分析。
1? Pyhton爬蟲技術概述
爬蟲的概念就是一段自動抓取互聯網信息的程序,從互聯網上抓取對于我們有價值的信息[2],其根本原理是遞歸算法。爬蟲技術原本是應用于搜索引擎的,隨著程序員前輩們的改進,目前已經成為一項非常通用且實用的數據抓取技術了。能開發(fā)爬蟲技術的語言有很多種,但是由于Python語言的簡單高效,人們更習慣用Python來開發(fā)爬蟲技術,所以Python爬蟲技術已經成為當下主流的爬蟲技術。
python語言具有非常高的可行性和有效性,不僅保證了網絡爬蟲框架實現效果,還提高了網絡爬蟲系統的運行性能,為用戶帶來良好的使用體驗[3]。
Python爬蟲架構主要由5個部分構成,分別是:調度器、URL管理器、網頁下載器、網頁解析器、應用程序等,如圖1所示。
2? 實現過程
2.1? 基礎環(huán)境配置
Python爬取淘寶銷量數據涉及使用selenium庫中的Webdriver操作GOOGLE瀏覽器進行登陸、搜索、點擊按銷量從高到低排序、獲取頁面內容并使用beautiful庫解析的過程[4]。
本機環(huán)境概述:Pyhton版本為Python3.10.0;編輯器為PyCharm;瀏覽器使用Google Chrome 95.0.4638.54;驅動器版本為95.0.4638.17;
Python爬蟲技術的前期準備是非常煩瑣的,但是任何一個環(huán)節(jié)出現問題,都會導致后期無法順利運行我們的爬蟲代碼。
首先是檢查我們的Python3.10是否安裝完成并且配置好了路徑PATH。最簡單的方式就是通過cmd命令行來查看,我們在命令行中輸入python回車。如出現python的版本號信息,則證明安裝配置成功(圖2為本機配置成功顯示),否則未成功。
一般錯誤就是未配置路徑PATH。可以在“此電腦”右鍵,選擇“屬性”,然后選擇“高級系統設置”進行手動配置PATH。;亦可卸載,重新安裝時勾選 “Add Python 3.10 to PATH”選項。
在Python中需要運用多種多樣的函數就得下載相應的庫。下載庫便需要用到“pipinstall [庫名稱]”的命令。這便首先需要pip文件配置成功。pip文件的在最新版本的python中是已經配置好了的,在python的安裝路徑下的script文件夾內。我們可以通過打開python的安裝路徑的script文件夾查看,我們也可以通過cmd命令行來查詢,如果我們輸入pip回車,出現如圖3所示的界面,則證明我們已經完成pip的安裝。
我們不僅需要python的命令行程序,還要安裝python的圖形化軟件PyCharm來方便我們編譯運行我們的代碼,PyCharm如圖4所示。
我們需要用到的很多函數都要來源于不同的庫,本次簡單的爬蟲代碼要用到的庫有selenium庫、requests庫。安裝指令分別為:
(1)1pip install selenium
(2)pip install requests
圖5為安裝selenium示例(安裝requests庫同理)。
Selenium庫安超時現象時常出現,因為selenium庫較為龐大,建立連接時間過長而未安裝成功的現象比較常見,所以我們可以選擇安裝時指定超時時間例如指令:pip --default-timeout=100 install -U selenium==2.53.6[5] 。
注意:上面指定了selenium的版本號為2.53.6,可以不指定版本號,直接寫:
pip --default-timeout=100 install -U selenium即可。
圖6是本次實驗所需的所有庫。
2.2? 確定訪問接口
我們以淘寶網搜索手機為例,如圖7所示。
我們可以看到非常豐富的信息,比如商品價格、店鋪名稱、手機型號等諸多信息我們本次實驗想要提取的信息是商品銷量信息。第一步就是確定訪問接口。
我們進行翻頁處理操作,如圖8~圖10所示。
我們觀察規(guī)律易發(fā)現淘寶的搜索接口為:https://s.taobao.com/search?q=。由曲線擬合可得:頁數的跳轉與參數s呈正相關,s=(頁數-1)×48。
我們預測,第五頁的地址為:https://s.taobao.com/search?q=手機&p4ppushleft=5%2C48&s=192,進行測試可正確到達第五頁,如圖12所示,證明我們曲線擬合結果正確。
2.3? 代碼編寫
編輯器使用Python編輯器PC最新版。爬蟲代碼的核心就是要抓取頁面源碼的關鍵字信息,頁面源碼一般都為HTML格式,所以抓取頁面關鍵字的任務交給getHTMLText()函數最合適不過了,如圖13所示。但是使用getHTMLText()函數是需要安裝requests庫的,我們在上文中已經解釋過了requests庫的安裝方法,在cmd命令行中輸入pipinstallrequests指令即可。
完整的代碼截圖以及運行結果如圖14與圖15所示。
3? 研究過程中遇到的困難
3.1? pipinstall指令失效
當我利用pipinstallelenium命令來在下載elenium插件的時候,遇到問題全片紅色警告問題,在網上查閱了好多資料說可能是安裝版本過高的原因,但是我安裝了較低較穩(wěn)定的版本也無法成功解決此報錯警告。于是拖延了好幾天進度,終于有一天在某論壇上看到了有任何我遇到了同樣的問題,改作者將本機的代理系統關閉就解決了情況此參照實驗,發(fā)現果然是代理服務器的問題。關閉即可用“pip install **”指令來進行安裝庫或者插件了,如圖16所示。
3.2? import requests導包出錯
導致問題的原因:未安裝requests庫,想要安裝,但是一直安裝失敗。后來發(fā)現是自己斷網了,需要在聯網狀態(tài)下安裝。解決辦法:聯網下安裝成功。
4? 結? 論
本次研究,僅僅以python爬蟲爬取淘寶“手機”首頁銷量數據的簡單案例展示了python爬蟲技術的強大。Python爬蟲技術在網上購物數據爬取方面的技術已經趨于成熟,但是我們也只能爬取網站上這些公示的信息數據,不可以爬取消費者或者商家的隱私數據,除此之外我們亦不能爬取更多敏感非法數據。
爬蟲技術的逐步成熟,給人們帶來便利的同時,也引來了一些爭論。有些不法分子利用爬蟲技術非法搜集私密信息也對社會造成一定影響;國家知識產權局官網2020年發(fā)布的關于知識產權保護文本就完全可以應用Python爬蟲技術進行爬取數據保護知識產權。現在看來只對以對爬蟲技術的使用加以約束,其造福社會的力度是遠遠大于其帶來的負面影響的。Python爬蟲技術的應用已經越來越廣泛,現在已經應用于商品銷量數據爬取、消費者消費場景收集分析、知識產權保護、招聘信息匯總、國家社科基金項目爬蟲等多項領域,接下來必將會滲透到我們生活的各個領域,成為我們解放傳統手工信息整理的救星。但是無論如何我們都應當時刻謹記:互聯網并非法外之地。
參考文獻:
[1] 李霖,楊蕾.公眾參與的興趣點數據有效性效驗方法 [J].測繪科學,2015,40(7): 98-103.
[2] 菜鳥教程.Python 爬蟲介紹 [EB/OL].[2021-04-26].https://www.runoob.com/w3cnote/python-spider-intro.html.
[3] 吳道君. 大數據背景python在網絡爬蟲框架中的應用 [J]. 科學技術創(chuàng)新,2021(21): 97-99.
[4] pennykoon.python爬取淘寶銷量數據 [EB/OL].[2021-04-26].https://blog.csdn.net/pennykoon/article/details/112150688.
[5] weixin_34199405.windows使用pip安裝selenium報錯問題 [EB/OL].[2021-04-26].https://blog.csdn.net/weixin_34199405.
作者簡介:高雅婷(2000—),女,漢族,河北保定人,本科在讀,研究方向:Python爬蟲。