• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Python電子商務(wù)網(wǎng)站爬蟲(chóng)技術(shù)與設(shè)計(jì)

      2019-10-21 14:31:02姜慧梅
      科學(xué)與財(cái)富 2019年29期
      關(guān)鍵詞:網(wǎng)絡(luò)爬蟲(chóng)數(shù)據(jù)電子商務(wù)

      姜慧梅

      摘 要:網(wǎng)絡(luò)爬蟲(chóng)技術(shù)是一門非常實(shí)用、易學(xué)、高效、讓人產(chǎn)生成就感的技術(shù)。在電子商務(wù)高速發(fā)展的時(shí)代如何利用爬蟲(chóng)技術(shù)幫助人們?nèi)?、有效、精確地得到有價(jià)值的數(shù)據(jù),定時(shí)搶購(gòu)某種商品,利用網(wǎng)絡(luò)爬蟲(chóng)自動(dòng)地瀏覽電子商務(wù)網(wǎng)站中的信息,精準(zhǔn)制定自己的要求,快速查詢。

      關(guān)鍵詞:網(wǎng)絡(luò)爬蟲(chóng);數(shù)據(jù);電子商務(wù)

      0引言

      在信息高速發(fā)展的大數(shù)據(jù)時(shí)代,互聯(lián)網(wǎng)的信息數(shù)據(jù)蘊(yùn)含著巨大的商業(yè)價(jià)值。如何充分挖掘信息數(shù)據(jù)的潛在價(jià)值,幫助人們?cè)陔娮由虅?wù)網(wǎng)站上找到理想的商品,更便宜的生活用品,幫助企業(yè)找到隱藏著巨大商業(yè)價(jià)值的數(shù)據(jù),在眾多的數(shù)據(jù)中如何挑選出有價(jià)值的數(shù)據(jù),成為解決關(guān)鍵問(wèn)題的數(shù)據(jù)支撐。

      本文是利用Python語(yǔ)言編寫網(wǎng)絡(luò)爬蟲(chóng)程序,可以自動(dòng)瀏覽電子商務(wù)網(wǎng)站中的商品信息,然后根據(jù)制定的規(guī)則下載和提取商品相關(guān)信息和商品圖片。

      1網(wǎng)絡(luò)爬蟲(chóng)的相關(guān)技術(shù)

      1.1什么是網(wǎng)絡(luò)爬蟲(chóng)

      網(wǎng)絡(luò)爬蟲(chóng)也可以稱為網(wǎng)頁(yè)蜘蛛,或是網(wǎng)絡(luò)機(jī)器人,可以按照指定的搜索查詢?cè)O(shè)置規(guī)則,程序?qū)崿F(xiàn)自動(dòng)地下載目標(biāo)網(wǎng)頁(yè),抓取網(wǎng)站的相關(guān)文字信息或者圖片信息,從而使得用戶能更快的檢索到所需要的信息,目前爬蟲(chóng)技術(shù)廣泛用于互聯(lián)網(wǎng)搜索引擎或其他類似網(wǎng)站,以便獲取目標(biāo)網(wǎng)站的更新內(nèi)容和搜索數(shù)據(jù)的方式[1]。

      1.2 HTTP請(qǐng)求

      在Python中實(shí)現(xiàn)HTTP請(qǐng)求主要有兩個(gè)庫(kù)進(jìn)行調(diào)用。第一個(gè)庫(kù)是Urllib庫(kù),第二個(gè)庫(kù)是Requests庫(kù),這兩種實(shí)現(xiàn)HTTP請(qǐng)求的庫(kù)中,使用Requests庫(kù)最簡(jiǎn)單,功能比較全面。Requests庫(kù)是用Python語(yǔ)言編寫的,調(diào)用Requests庫(kù)節(jié)約編程工作,簡(jiǎn)單易調(diào)用,可以滿足HTTP的測(cè)試需求。

      1.3 爬蟲(chóng)框架

      在Python中,有很多的爬蟲(chóng)框架,常見(jiàn)的Python爬蟲(chóng)框架主要有Pyspider框架、Scrapy框架、Cola框架等,本文采用Scrapy。

      使用ScrapyStartprojectpachong1生成一個(gè)爬蟲(chóng)項(xiàng)目,可以看到項(xiàng)目生成的爬蟲(chóng)文件目錄,文件目錄介紹如下:

      (1)在項(xiàng)目文件的根目錄下,其中scrapy.cfg文件是項(xiàng)目配置文件,。

      (2)在根目錄下存儲(chǔ)的item.py是保存爬取數(shù)據(jù)容器,需要爬取什么數(shù)據(jù),在這里進(jìn)行定義。

      (3)在根目錄下存儲(chǔ)的pipelines.py文件,可以保存爬取的數(shù)據(jù)到數(shù)據(jù)庫(kù)里。

      (4)在根目錄下存儲(chǔ)的middlewares.py文件,主要用來(lái)對(duì)所發(fā)出爬蟲(chóng)的請(qǐng)求、收到的響應(yīng)和spider做全局性的自定義設(shè)置。

      (5)在根目錄下存儲(chǔ)的setting.py文件,是爬蟲(chóng)框架的設(shè)置文件。

      (6) 在根目錄下存儲(chǔ)的spiders文件夾,存放編寫的爬蟲(chóng)代碼文件和下載的網(wǎng)頁(yè)文件。

      1.4動(dòng)態(tài)網(wǎng)頁(yè)爬取方法

      電子商務(wù)網(wǎng)店大部分都是動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì),采用AJAX技術(shù),通過(guò)后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,實(shí)現(xiàn)網(wǎng)頁(yè)異步更新,這樣可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的局部?jī)?nèi)容進(jìn)行更新[2]。

      (1)加載網(wǎng)頁(yè),查看在URL不變的情況下,未刷新該頁(yè)面,查看是否能夠加載新的網(wǎng)頁(yè)內(nèi)容信息。

      (2)所用的爬取網(wǎng)頁(yè)源碼結(jié)構(gòu)與顯示并不相同。

      2網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)設(shè)計(jì)

      2.1電子商務(wù)網(wǎng)站爬蟲(chóng)的功能

      在電子商務(wù)網(wǎng)站中,可以利用網(wǎng)絡(luò)爬蟲(chóng)有效抓取商品標(biāo)題、貨號(hào)編號(hào)及商品圖片并將其存入本地?cái)?shù)據(jù)庫(kù)中。由于電子商務(wù)網(wǎng)站爬蟲(chóng)需要抓取的網(wǎng)站頁(yè)面對(duì)應(yīng)的URL地址不是固定的,而是在時(shí)刻變化的,因此,在爬蟲(chóng)抓取網(wǎng)站URL地址的過(guò)程中需要特別注意對(duì)URL地址的訪問(wèn)方式及記錄去重[3]。

      2.2網(wǎng)絡(luò)爬蟲(chóng)基本流程

      利用Python技術(shù)進(jìn)行電子商務(wù)網(wǎng)站爬蟲(chóng)的基本工作流程設(shè)置如下:

      (1)首先,把要進(jìn)行爬蟲(chóng)網(wǎng)絡(luò)中,選取一些要進(jìn)行爬蟲(chóng)的種子URL;

      (2)然后把URL存儲(chǔ)在待抓取URL隊(duì)列中;

      (3)讀取URL隊(duì)列中,將目標(biāo)網(wǎng)頁(yè)下載下來(lái),存在本地文件夾,將這些已經(jīng)保存過(guò)的URL地址放入已經(jīng)抓取的URL隊(duì)列。

      (4)分析下載模塊傳過(guò)來(lái)的網(wǎng)頁(yè)數(shù)據(jù),提取出感興趣的數(shù)據(jù)。

      (5)在調(diào)度模塊里,可以把接收到的網(wǎng)頁(yè)URL數(shù)據(jù)進(jìn)行模塊解析。

      (6)整個(gè)網(wǎng)站爬蟲(chóng)系統(tǒng)抓取URL地址隊(duì)列,直到循環(huán)結(jié)束。

      (7)最后可以進(jìn)行整理下載的數(shù)據(jù)信息,并存入數(shù)據(jù)庫(kù)。

      (8)根據(jù)爬取結(jié)果從數(shù)據(jù)庫(kù)中進(jìn)行讀取,挑選出有價(jià)值的商品信息和商品圖片。

      3 電子商務(wù)網(wǎng)站爬蟲(chóng)實(shí)現(xiàn)

      3.1爬蟲(chóng)代碼

      使用CrawlSpider根據(jù)URL規(guī)則爬取是一個(gè)非常好的方法,可以使代碼非常簡(jiǎn)潔。

      第一步,生成項(xiàng)目,可以使用Crawl模版生成爬蟲(chóng)Spider.,生成爬蟲(chóng)項(xiàng)目文件夾pachong1, 生成了爬蟲(chóng)文件Chanpin.py。

      第二步,根據(jù)需要的數(shù)據(jù),定義Item,打開(kāi)Item.py文件定義要爬取的數(shù)據(jù)。

      第三步,編寫spider文件,打開(kāi)生成的爬蟲(chóng)文件Chanpin.py。

      (2)用列表推導(dǎo)式生成start_urls

      (3)定義商品列表頁(yè)解析方法

      3.2使用MongoDB和scrapy_redis搭建分布式爬蟲(chóng)

      在使用之前我們要確保已經(jīng)安裝好了MongoDB并啟動(dòng)了該服務(wù),進(jìn)入python工作模式。此處主要用于Python數(shù)據(jù)的保存,我們要安裝Python的PyMongo庫(kù),運(yùn)行‘pip install pymongo命令完成pymongo的安裝。

      執(zhí)行爬蟲(chóng)代碼,然后到Robomongo刷新就會(huì)看到數(shù)據(jù)已經(jīng)保存在數(shù)據(jù)庫(kù)里。

      4 結(jié)束語(yǔ)

      本次實(shí)驗(yàn)通過(guò)Python編程實(shí)現(xiàn)對(duì)電子商務(wù)網(wǎng)站進(jìn)行商品信息的爬蟲(chóng),能夠?qū)χ付ňW(wǎng)頁(yè)中的商品信息、商品圖片、商品介紹文字等進(jìn)行抓取。經(jīng)反復(fù)測(cè)試數(shù)據(jù)顯示,該程序能夠有效的實(shí)現(xiàn)電子商務(wù)商品信息進(jìn)行批量下載功能,而且提高個(gè)性化數(shù)據(jù)的獲取。

      參考文獻(xiàn):

      [1] 謝克武. 大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲(chóng)技術(shù)[J].軟件開(kāi)發(fā), 2017,18

      [2] 齊文光. Python網(wǎng)絡(luò)爬蟲(chóng)實(shí)例教程[M].人民郵電出版社.2018.7

      [3] 仇明. 基于 Python 的圖片爬蟲(chóng)程序設(shè)計(jì)[J].工業(yè)技術(shù)與職業(yè)教育.2019.3

      猜你喜歡
      網(wǎng)絡(luò)爬蟲(chóng)數(shù)據(jù)電子商務(wù)
      《電子商務(wù)法》如何助力直銷
      電子商務(wù)
      煉鐵廠鐵量網(wǎng)頁(yè)數(shù)據(jù)獲取系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      焊接工藝仿真訓(xùn)練系統(tǒng)中焊點(diǎn)數(shù)據(jù)的建立方法
      一種借助數(shù)據(jù)處理構(gòu)建的智能食堂管理系統(tǒng)
      數(shù)據(jù)化藝術(shù)的生成探究
      淺談?dòng)?jì)量自動(dòng)化系統(tǒng)實(shí)現(xiàn)預(yù)購(gòu)電管理應(yīng)用
      基于社會(huì)網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁(yè)挖掘研究
      主題搜索引擎中網(wǎng)絡(luò)爬蟲(chóng)的實(shí)現(xiàn)研究
      淺析如何應(yīng)對(duì)網(wǎng)絡(luò)爬蟲(chóng)流量
      泸定县| 英吉沙县| 泾源县| 冕宁县| 萨迦县| 建平县| 封丘县| 金溪县| 雷山县| 三穗县| 汤原县| 颍上县| 马关县| 桃园市| 峨边| 新乐市| 壶关县| 无锡市| 德阳市| 连南| 天镇县| 克什克腾旗| 陆良县| 泽普县| 塘沽区| 九龙城区| 宝鸡市| 德江县| 平昌县| 禹州市| 怀远县| 武城县| 炉霍县| 临洮县| 自贡市| 夹江县| 聂拉木县| 通辽市| 黑龙江省| 视频| 恩施市|