姜慧梅
摘 要:網絡爬蟲技術是一門非常實用、易學、高效、讓人產生成就感的技術。在電子商務高速發展的時代如何利用爬蟲技術幫助人們全面、有效、精確地得到有價值的數據,定時搶購某種商品,利用網絡爬蟲自動地瀏覽電子商務網站中的信息,精準制定自己的要求,快速查詢。
關鍵詞:網絡爬蟲;數據;電子商務
0引言
在信息高速發展的大數據時代,互聯網的信息數據蘊含著巨大的商業價值。如何充分挖掘信息數據的潛在價值,幫助人們在電子商務網站上找到理想的商品,更便宜的生活用品,幫助企業找到隱藏著巨大商業價值的數據,在眾多的數據中如何挑選出有價值的數據,成為解決關鍵問題的數據支撐。
本文是利用Python語言編寫網絡爬蟲程序,可以自動瀏覽電子商務網站中的商品信息,然后根據制定的規則下載和提取商品相關信息和商品圖片。
1網絡爬蟲的相關技術
1.1什么是網絡爬蟲
網絡爬蟲也可以稱為網頁蜘蛛,或是網絡機器人,可以按照指定的搜索查詢設置規則,程序實現自動地下載目標網頁,抓取網站的相關文字信息或者圖片信息,從而使得用戶能更快的檢索到所需要的信息,目前爬蟲技術廣泛用于互聯網搜索引擎或其他類似網站,以便獲取目標網站的更新內容和搜索數據的方式[1]。
1.2 HTTP請求
在Python中實現HTTP請求主要有兩個庫進行調用。第一個庫是Urllib庫,第二個庫是Requests庫,這兩種實現HTTP請求的庫中,使用Requests庫最簡單,功能比較全面。Requests庫是用Python語言編寫的,調用Requests庫節約編程工作,簡單易調用,可以滿足HTTP的測試需求。
1.3 爬蟲框架
在Python中,有很多的爬蟲框架,常見的Python爬蟲框架主要有Pyspider框架、Scrapy框架、Cola框架等,本文采用Scrapy。
使用ScrapyStartprojectpachong1生成一個爬蟲項目,可以看到項目生成的爬蟲文件目錄,文件目錄介紹如下:
(1)在項目文件的根目錄下,其中scrapy.cfg文件是項目配置文件,。
(2)在根目錄下存儲的item.py是保存爬取數據容器,需要爬取什么數據,在這里進行定義。
(3)在根目錄下存儲的pipelines.py文件,可以保存爬取的數據到數據庫里。
(4)在根目錄下存儲的middlewares.py文件,主要用來對所發出爬蟲的請求、收到的響應和spider做全局性的自定義設置。
(5)在根目錄下存儲的setting.py文件,是爬蟲框架的設置文件。
(6) 在根目錄下存儲的spiders文件夾,存放編寫的爬蟲代碼文件和下載的網頁文件。
1.4動態網頁爬取方法
電子商務網店大部分都是動態網頁設計,采用AJAX技術,通過后臺與服務器進行少量數據交換,實現網頁異步更新,這樣可以在不重新加載整個網頁的情況下,對網頁的局部內容進行更新[2]。
(1)加載網頁,查看在URL不變的情況下,未刷新該頁面,查看是否能夠加載新的網頁內容信息。
(2)所用的爬取網頁源碼結構與顯示并不相同。
2網絡爬蟲系統設計
2.1電子商務網站爬蟲的功能
在電子商務網站中,可以利用網絡爬蟲有效抓取商品標題、貨號編號及商品圖片并將其存入本地數據庫中。由于電子商務網站爬蟲需要抓取的網站頁面對應的URL地址不是固定的,而是在時刻變化的,因此,在爬蟲抓取網站URL地址的過程中需要特別注意對URL地址的訪問方式及記錄去重[3]。
2.2網絡爬蟲基本流程
利用Python技術進行電子商務網站爬蟲的基本工作流程設置如下:
(1)首先,把要進行爬蟲網絡中,選取一些要進行爬蟲的種子URL;
(2)然后把URL存儲在待抓取URL隊列中;
(3)讀取URL隊列中,將目標網頁下載下來,存在本地文件夾,將這些已經保存過的URL地址放入已經抓取的URL隊列。
(4)分析下載模塊傳過來的網頁數據,提取出感興趣的數據。
(5)在調度模塊里,可以把接收到的網頁URL數據進行模塊解析。
(6)整個網站爬蟲系統抓取URL地址隊列,直到循環結束。
(7)最后可以進行整理下載的數據信息,并存入數據庫。
(8)根據爬取結果從數據庫中進行讀取,挑選出有價值的商品信息和商品圖片。
3 電子商務網站爬蟲實現
3.1爬蟲代碼
使用CrawlSpider根據URL規則爬取是一個非常好的方法,可以使代碼非常簡潔。
第一步,生成項目,可以使用Crawl模版生成爬蟲Spider.,生成爬蟲項目文件夾pachong1, 生成了爬蟲文件Chanpin.py。
第二步,根據需要的數據,定義Item,打開Item.py文件定義要爬取的數據。
第三步,編寫spider文件,打開生成的爬蟲文件Chanpin.py。
(2)用列表推導式生成start_urls
(3)定義商品列表頁解析方法
3.2使用MongoDB和scrapy_redis搭建分布式爬蟲
在使用之前我們要確保已經安裝好了MongoDB并啟動了該服務,進入python工作模式。此處主要用于Python數據的保存,我們要安裝Python的PyMongo庫,運行‘pip install pymongo命令完成pymongo的安裝。
執行爬蟲代碼,然后到Robomongo刷新就會看到數據已經保存在數據庫里。
4 結束語
本次實驗通過Python編程實現對電子商務網站進行商品信息的爬蟲,能夠對指定網頁中的商品信息、商品圖片、商品介紹文字等進行抓取。經反復測試數據顯示,該程序能夠有效的實現電子商務商品信息進行批量下載功能,而且提高個性化數據的獲取。
參考文獻:
[1] 謝克武. 大數據環境下基于python的網絡爬蟲技術[J].軟件開發, 2017,18
[2] 齊文光. Python網絡爬蟲實例教程[M].人民郵電出版社.2018.7
[3] 仇明. 基于 Python 的圖片爬蟲程序設計[J].工業技術與職業教育.2019.3