亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Scrapy的商品評(píng)價(jià)獲取系統(tǒng)設(shè)計(jì)*

        2017-10-21 03:40:21威,夏
        關(guān)鍵詞:選品爬蟲頁(yè)面

        施 威,夏 斌

        (上海海事大學(xué) 信息工程學(xué)院,上海 201306)

        基于Scrapy的商品評(píng)價(jià)獲取系統(tǒng)設(shè)計(jì)*

        施 威,夏 斌

        (上海海事大學(xué) 信息工程學(xué)院,上海 201306)

        隨著電子商務(wù)的迅速發(fā)展和競(jìng)爭(zhēng)愈加激烈,對(duì)于電商平臺(tái)上第三方賣家而言,如何準(zhǔn)確獲取商品評(píng)論信息從而正確選擇上架的商品變得愈來(lái)愈重要。目前第三方賣家在獲取商品評(píng)價(jià)工作上主要依賴于人工收集信息,不僅效率十分低下,并且準(zhǔn)確度得不到保障。為了幫助電商平臺(tái)上第三方賣家高效并準(zhǔn)確地解決這一問(wèn)題,文中設(shè)計(jì)出了一種基于網(wǎng)絡(luò)爬蟲的商品評(píng)價(jià)獲取工具。該工具實(shí)現(xiàn)了對(duì)一個(gè)暢銷商品類目下的所有商品評(píng)論進(jìn)一步細(xì)化與篩選,為用戶提供更加直觀的商品指標(biāo),同時(shí)固化存儲(chǔ)商品評(píng)論為后續(xù)的進(jìn)一步優(yōu)化提供數(shù)據(jù)源。該系統(tǒng)主要技術(shù)采用Scrapy框架,開(kāi)發(fā)語(yǔ)言采用Python2.7,經(jīng)過(guò)測(cè)試后發(fā)現(xiàn)達(dá)到了良好的效果。

        電子商務(wù);網(wǎng)絡(luò)爬蟲;Scrapy;Python

        0 引言

        電子商務(wù)的興起促進(jìn)了商業(yè)模式的變革,作為最資深的電商平臺(tái),Amazon擁有巨大的用戶群體,僅僅美國(guó)站的第三方賣家數(shù)量就超過(guò)20萬(wàn)。平臺(tái)上每個(gè)商家店鋪的運(yùn)營(yíng)好壞與商家的選品質(zhì)量緊密相關(guān),尤其對(duì)于平臺(tái)上的第三方賣家。選品的效率越高,準(zhǔn)確度越高,商品自然更加吸引消費(fèi)者,店鋪的客戶群體也會(huì)更多。因此提高選品質(zhì)量是提升店鋪收益的重要手段。

        目前選品工作的一個(gè)重要判斷依據(jù)就是商品的評(píng)價(jià)信息,如何高效準(zhǔn)確地獲取商品評(píng)價(jià)信息并得出一些商品的相關(guān)數(shù)據(jù)指標(biāo),對(duì)于選品的質(zhì)量至關(guān)重要。獲取商品評(píng)價(jià)信息主要依賴于人工去檢索信息,這種方式效率十分低下。另外電商平臺(tái)也會(huì)提供商品綜合評(píng)價(jià)指標(biāo),但數(shù)據(jù)量太過(guò)抽象,可參考性不足。對(duì)于不同商家對(duì)評(píng)論數(shù)據(jù)的需求不同,電商平臺(tái)很難提供有價(jià)值的信息。因此本文設(shè)計(jì)了一個(gè)基于Scrapy框架的評(píng)價(jià)獲取系統(tǒng),用戶通過(guò)提供特定的商品類目來(lái)獲取更加直觀的商品評(píng)價(jià)數(shù)據(jù),從而為選品工作提供相應(yīng)評(píng)價(jià)指標(biāo)。

        1 相關(guān)技術(shù)簡(jiǎn)介

        1.1網(wǎng)絡(luò)爬蟲與Python

        網(wǎng)絡(luò)爬蟲[1](Web Crawler)是一種特定的應(yīng)用程序或者腳本,可以按照一定的匹配規(guī)則自動(dòng)地提取Web頁(yè)面中特定的內(nèi)容。它最典型的應(yīng)用就是搜索引擎從互聯(lián)網(wǎng)上抓取數(shù)據(jù),并且下載Web頁(yè)面。網(wǎng)絡(luò)爬蟲最原始的目的就是從互聯(lián)網(wǎng)上下載數(shù)據(jù)到本地進(jìn)行備份。爬蟲是從一個(gè)或有多個(gè)URL的集合開(kāi)始進(jìn)行爬取,首先獲取一個(gè)URL并下載此URL頁(yè)面內(nèi)容,提取該頁(yè)面中其他需要的URL放入集合隊(duì)列中,反復(fù)此過(guò)程直至爬取所有Web頁(yè)面。常見(jiàn)的爬取策略有廣度優(yōu)先爬蟲、重復(fù)爬取已有頁(yè)面爬蟲和定向爬蟲。

        Python語(yǔ)言是一種語(yǔ)法簡(jiǎn)單明晰、功能強(qiáng)大、兼具面向過(guò)程與面向?qū)ο蟮拈_(kāi)源編程語(yǔ)言,特別適用于應(yīng)用程序的敏捷開(kāi)發(fā),它幾乎可以在所有主流的操作系統(tǒng)上運(yùn)行。Python語(yǔ)言提供了非常豐富的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)庫(kù),例如自帶的urllib、urllib2等最基本的爬蟲庫(kù)。另外,Python生態(tài)包含非常豐富的第三方工具包[2],比如強(qiáng)大的Scrapy、requests、BeautifulSoup等網(wǎng)絡(luò)工具庫(kù)。

        1.2Scrapy

        Scrapy[3]是基于Python語(yǔ)言開(kāi)發(fā)的一個(gè)開(kāi)源Web并行爬取框架,它能夠快速爬取Web站點(diǎn)并從頁(yè)面中提取自定義的結(jié)構(gòu)化數(shù)據(jù)。因突出的爬取性能,Scrapy在數(shù)據(jù)挖掘、數(shù)據(jù)監(jiān)測(cè)和自動(dòng)化測(cè)試領(lǐng)域得到了廣泛應(yīng)用。Scrapy使用Twisted這個(gè)異步網(wǎng)絡(luò)庫(kù)來(lái)處理網(wǎng)絡(luò)通信,架構(gòu)清晰,并且包含了各種中間件接口,用戶只需要在Scrapy框架的基礎(chǔ)上進(jìn)行模塊的定制開(kāi)發(fā)就可以輕松實(shí)現(xiàn)一個(gè)高效的爬蟲應(yīng)用[4]。Scrapy整體架構(gòu)如圖1所示。

        圖1 Scrapy整體架構(gòu)

        (1)Scrapy Engine:框架引擎,用來(lái)處理整個(gè)系統(tǒng)的數(shù)據(jù)流處理,觸發(fā)事務(wù);

        (2)Scheduler:調(diào)度器,用來(lái)接受Engine發(fā)過(guò)來(lái)的請(qǐng)求,壓入隊(duì)列中,并在引擎再次請(qǐng)求時(shí)返回;

        (3)Spiders:蜘蛛,也稱為爬蟲,用來(lái)定制特定解析規(guī)則爬取頁(yè)面并提取自定義的item數(shù)據(jù);

        (4)Downloader:下載器,用來(lái)下載頁(yè)面內(nèi)容,并將內(nèi)容返回給Spiders;

        (5)Item Pipeline:項(xiàng)目管道,Spiders解析過(guò)后的數(shù)據(jù)被送到項(xiàng)目管道進(jìn)行進(jìn)一步的處理;

        (6)Downloader Middlewares:下載器中間件,處理Scrapy引擎與下載器之間的請(qǐng)求及響應(yīng)。

        1.3Xpath

        Xpath即為XML路徑語(yǔ)言,它被用來(lái)標(biāo)示XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集)文檔中的特定位置[5]。Xpath基于XML的樹(shù)狀結(jié)構(gòu),提供在樹(shù)形結(jié)構(gòu)數(shù)據(jù)中定位節(jié)點(diǎn)的功能。因?yàn)榕老x爬取的通常是HTML頁(yè)面,HTML同XML一樣也是樹(shù)狀結(jié)構(gòu),所以Xpath同樣也支持HTML。爬蟲的目的是為了獲取數(shù)據(jù),而需要的數(shù)據(jù)通常都不是頁(yè)面的全部,獲取指定的數(shù)據(jù)需要進(jìn)行數(shù)據(jù)匹配。常用的匹配技術(shù)有Python自帶的正則表達(dá)式類庫(kù)(re),但正則匹配不能完全保證匹配到指定的數(shù)據(jù)節(jié)點(diǎn),表達(dá)式的書寫也比較復(fù)雜。Xpath語(yǔ)言簡(jiǎn)化了匹配表達(dá)式的書寫,匹配成功率也更高。Python語(yǔ)言對(duì)Xpath具有良好的支持,Scrapy與Xpath結(jié)合使得爬蟲效率高效并且可靠。

        2 系統(tǒng)設(shè)計(jì)

        2.1系統(tǒng)整體框架

        系統(tǒng)主要分為五大部分,分別是URL管理、頁(yè)面數(shù)據(jù)解析、數(shù)據(jù)的提取與處理、數(shù)據(jù)的存儲(chǔ)、爬蟲調(diào)度。Scrapy引擎從URL管理器獲取需要并行爬取的URL,然后進(jìn)行頁(yè)面解析,提取出需要的數(shù)據(jù)。再進(jìn)一步進(jìn)行數(shù)據(jù)過(guò)濾及處理,最后將需要的數(shù)據(jù)進(jìn)行存儲(chǔ)固化,將結(jié)果導(dǎo)出為Excel表格。系統(tǒng)整體框架如圖2所示。

        圖2 系統(tǒng)框架

        2.2爬蟲調(diào)度

        爬蟲調(diào)度[6]是Scrapy爬蟲的控制單元,對(duì)爬蟲系統(tǒng)的各個(gè)模塊進(jìn)行協(xié)調(diào)和調(diào)度,核心功能包括:

        (1)實(shí)現(xiàn)抓取數(shù)據(jù)的流程;

        (2)控制其他模塊的執(zhí)行;

        (3)為HTTP請(qǐng)求添加請(qǐng)求信息,例如Headers;

        (4)采取合適的反爬蟲措施避免反爬蟲機(jī)制。

        2.3頁(yè)面加載器

        頁(yè)面加載器通過(guò)爬蟲調(diào)度器提供的HTTP請(qǐng)求體信息以及URL管理器的URL,向Web服務(wù)器發(fā)起HTTP請(qǐng)求,獲取服務(wù)器響應(yīng)的HTML頁(yè)面。為了避免反爬蟲機(jī)制導(dǎo)致服務(wù)器無(wú)法及時(shí)響應(yīng)或拒絕訪問(wèn),頁(yè)面加載器采用定時(shí)機(jī)制限制請(qǐng)求的頻次。

        2.4HTML解析器

        HTML解析器對(duì)頁(yè)面加載器獲取的頁(yè)面數(shù)據(jù)進(jìn)行解析,解析后的數(shù)據(jù)為樹(shù)狀結(jié)構(gòu),以便后續(xù)利用Xpath進(jìn)行匹配選取。同時(shí)HTML解析器會(huì)將解析出來(lái)有需要的URL反饋給爬蟲調(diào)度器。本系統(tǒng)采用的是第三方Python網(wǎng)絡(luò)協(xié)議庫(kù):requests,它包含的get、post等靜態(tài)方法對(duì)常見(jiàn)的HTTP請(qǐng)求響應(yīng)處理都有很好的封裝。

        2.5數(shù)據(jù)輸出

        數(shù)據(jù)輸出分為兩部分,一部分是將有用的數(shù)據(jù)固化下來(lái),以便后續(xù)對(duì)系統(tǒng)進(jìn)一步優(yōu)化升級(jí)。本系統(tǒng)采用Python自帶的IO文件模型進(jìn)行固化。另一部分是將系統(tǒng)計(jì)算的結(jié)果導(dǎo)出為Excel表格,采用Scrapy自帶導(dǎo)出命令行工具,簡(jiǎn)單直觀。

        3 系統(tǒng)實(shí)現(xiàn)

        3.1頁(yè)面解析及數(shù)據(jù)提取

        圖5 樣例展示

        頁(yè)面加載過(guò)后需要對(duì)頁(yè)面數(shù)據(jù)進(jìn)行解析,解析后提取出需要的數(shù)據(jù),然后對(duì)提取出的數(shù)據(jù)進(jìn)行整合,最后對(duì)數(shù)據(jù)加以處理,并將有效的評(píng)價(jià)信息進(jìn)行文件固化。利用Xpath對(duì)HTML原數(shù)據(jù)進(jìn)行提取操作。例如,提取商品價(jià)格get_price的Xpath語(yǔ)法如下:link = get_price.xpath('div[@class="zg_itemWrapper"]/a[@class="a-link-normal"]/@href')[0].extract()。同理也能得到其他需要的數(shù)據(jù),然后根據(jù)定義的數(shù)據(jù)模型進(jìn)行整合。Item是Scrapy用來(lái)保存數(shù)據(jù)的容器模型,創(chuàng)建Item子類并定義相應(yīng)字段field即可創(chuàng)建數(shù)據(jù)模型。數(shù)據(jù)提取流程如圖3所示。

        圖3 數(shù)據(jù)提取邏輯圖

        3.2數(shù)據(jù)的處理及輸出

        在提取到商品基本信息(名稱、價(jià)格、鏈接)后,通過(guò)商品詳情頁(yè)的URL再次請(qǐng)求得到商品的評(píng)價(jià)數(shù)據(jù)。Scrapy是一個(gè)異步的爬蟲框架,所以異步對(duì)評(píng)價(jià)進(jìn)行深度遍歷增強(qiáng)了程序的交互友好性。Amazon的評(píng)價(jià)分為兩種,一種是驗(yàn)證通過(guò)(Verified Purchases)的評(píng)論,一種是未通過(guò)的。未通過(guò)Amazon認(rèn)證的評(píng)價(jià)顯然可靠性不高,所以此類評(píng)價(jià)將被過(guò)濾掉。 數(shù)據(jù)處理邏輯如圖4所示。

        圖4 數(shù)據(jù)處理邏輯圖

        評(píng)價(jià)時(shí)效區(qū)間的選擇可以自定義設(shè)定,一般認(rèn)為近6個(gè)月的評(píng)價(jià)更具參考性。評(píng)價(jià)的好差評(píng)定策略以3星為分界點(diǎn),大于3星認(rèn)為是好評(píng),小于等于3星認(rèn)定為差評(píng)。評(píng)價(jià)的固化利用Python的IO文件模型保存到txt文件,文件名為商品名,以便后期對(duì)評(píng)價(jià)的內(nèi)容做進(jìn)一步的分析。輸出結(jié)果利用Scrapy的結(jié)果輸出模塊導(dǎo)出為Excel表格,如圖5所示。

        proReviewSum為所有認(rèn)證過(guò)的評(píng)價(jià)總數(shù),proPosiReview為有效時(shí)間段內(nèi)好評(píng)總數(shù),proNegReview為有效時(shí)間段內(nèi)差評(píng)總數(shù)。根據(jù)結(jié)果數(shù)據(jù)可以得出兩個(gè)參數(shù),一個(gè)為總的評(píng)價(jià)數(shù)量,數(shù)量越高說(shuō)明該產(chǎn)品人氣越高,另一個(gè)為好評(píng)數(shù)與差評(píng)數(shù)的比值,比值越高說(shuō)明產(chǎn)品好評(píng)率越高。對(duì)兩個(gè)參數(shù)進(jìn)行綜合考量,可以對(duì)選品起到一定的指導(dǎo)參考作用。

        3.3反爬機(jī)制應(yīng)對(duì)策略

        反爬[7]是很多網(wǎng)站都會(huì)采取的保護(hù)措施,不同網(wǎng)站采取的反爬策略不同,所以本系統(tǒng)實(shí)現(xiàn)了常見(jiàn)的反爬應(yīng)對(duì)策略,充分保證系統(tǒng)運(yùn)行不受反爬機(jī)制的影響。實(shí)現(xiàn)的反爬應(yīng)對(duì)策略如下:

        (1)設(shè)置DOWNLOAD_DELAY,該參數(shù)為Scrapy在同一個(gè)網(wǎng)站兩個(gè)不同頁(yè)面之間跳轉(zhuǎn)需要等待的時(shí)間??梢栽趕etting.py文件里面設(shè)置:DOWNLOAD_DELAY=3 s;

        (2)使用用戶代理User-Agent,User-Agent是描述HTTP請(qǐng)求終端信息的參數(shù),使用動(dòng)態(tài)變化的User-Agent可以避免反爬機(jī)制的識(shí)別和訪問(wèn)流量統(tǒng)計(jì)異常。采用User-Agent池加上Python原生隨機(jī)生成算法可以實(shí)現(xiàn)動(dòng)態(tài)變化的User-Agent;

        (3)禁止cookies[8],可以防止網(wǎng)站利用cookies識(shí)別爬蟲軌跡[9-10]。在setting.py文件中設(shè)置:COOKIES_ENABLED=False。

        4 結(jié)論

        通過(guò)將商品基本信息、評(píng)論數(shù)據(jù)抓取下來(lái),并對(duì)評(píng)論進(jìn)一步地精確化,計(jì)算出更具參考價(jià)值的選品指標(biāo),對(duì)選品質(zhì)量起到了一定的提高作用,同時(shí)也大大節(jié)約了眾多店鋪商的手工查詢時(shí)間,幫助他們實(shí)現(xiàn)更好的收益。本文利用互聯(lián)網(wǎng)技術(shù)簡(jiǎn)化了電子商務(wù)平臺(tái)上繁雜性的工作,有很強(qiáng)的應(yīng)用價(jià)值。

        [1] PANI S K, MOHAPATRA D, RATHA B K. Integration of Web mining and Web crawler: relevance and state of art[J]. International Journal on Computer Science & Engineering, 2010, 2(3):772-776.

        [2] 徐詠梅. Python網(wǎng)絡(luò)編程中的遠(yuǎn)程調(diào)用研究[J]. 電腦編程技巧與維護(hù), 2011(18):80-81.

        [3] XIE D X, XIA W F. Design and implementation of the topic-focused crawler based on scrapy[J]. Advanced Materials Research, 2013, 850-851:487-490.

        [4] Twisted 15.4.0 documentation[EB/OL].(2017-02-20)[2017-03-26].http://twistedmatrix.com/documents/current/core/howto/defer.html.

        [5] 楊文柱, 徐林昊, 陳少飛,等. 基于XPath的Web信息抽取的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程, 2003, 29(16):82-83.

        [6] 李婷. 分布式爬蟲任務(wù)調(diào)度與AJAX頁(yè)面抓取研究[D].成都:電子科技大學(xué),2015.

        [7] 鄒科文,李達(dá),鄧婷敏,等. 網(wǎng)絡(luò)爬蟲針對(duì)“反爬”網(wǎng)站的爬取策略研究[J]. 電腦知識(shí)與技術(shù),2016(7):61-63.

        [8] HARDING W T. Cookies and Web bugs: what they are and how they work together[J]. Information Systems Management, 2001, 18(3):17-24.

        [9] 漆志輝, 楊天奇. 網(wǎng)絡(luò)爬蟲性能研究[J]. 微型機(jī)與應(yīng)用, 2011, 30(5):72-74.

        [10] 王勇杰. 電子商務(wù)網(wǎng)站中購(gòu)物車的實(shí)現(xiàn)[J]. 微型機(jī)與應(yīng)用, 2011, 30(17):11-12.

        The design of product reviews acquisition system based on the Scrapy framework

        Shi Wei, Xia Bin

        (College of Information Engineering, Shanghai Maritime University, Shanghai 201306, China)

        With the rapid development of e-business and the increasingly fierce competition, how to accurately obtain product reviews information and select stores goods correctly become more and more important, especially for those third-party sellers on e-business platform. At present, the third-party sellers mainly depend on artificial gathering information for the product reviews getting work, not only the efficiency is very low, and the accuracy can not be guaranteed. In order to help those third-party sellers on e-business platform to solve this problem efficiently and accurately, this paper designed a product reviews acquisition tool based on web crawler. This tool implements further refining and filter for all goods under a best-selling merchandise category, to provide users with more intuitive product indicators, at the same time to grab and store goods comments as data source for further optimization. The main technology of this system is Scrapy framework, development language adopts Python 2.7. After testing, it has achieved good results.

        e-business; the crawler; Scrapy; Python

        TP391.9

        A

        10.19358/j.issn.1674- 7720.2017.19.004

        施威,夏斌.基于Scrapy的商品評(píng)價(jià)獲取系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2017,36(19):12-15.

        上海市科學(xué)技術(shù)委員會(huì)資助項(xiàng)目(14441900300);國(guó)家自然科學(xué)基金(61550110252)

        2017-04-08)

        施威(1993-),男,碩士研究生,主要研究方向:智能商務(wù)信息處理。夏斌(1975-),通信作者,男,博士,副教授,碩士生導(dǎo)師,主要研究方向:腦-機(jī)接口、云計(jì)算及人工智能。E-mail:xawen267@gmail.com。

        猜你喜歡
        選品爬蟲頁(yè)面
        大狗熊在睡覺(jué)
        利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
        刷新生活的頁(yè)面
        READY, SET, GO一二三,齊步走
        欣漾(2022年3期)2022-04-29 20:09:29
        學(xué)會(huì)這些直播帶貨的選品方式
        基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
        跨境電子商務(wù)出口貿(mào)易中選品的思路及技巧
        利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
        大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
        電子制作(2017年9期)2017-04-17 03:00:46
        選品定位的“四大策略”
        亚洲av无码无线在线观看| 日韩高清av一区二区| 久久婷婷综合色一区二区| 欧美精品欧美人与动人物牲交 | 欧美日韩精品乱国产538| 99久久无色码中文字幕鲁信| 少妇爽到高潮免费视频| 啦啦啦中文在线观看日本| 国产人妻黑人一区二区三区| 18禁黄无遮挡免费网站| av在线播放亚洲天堂| 日韩人妻无码一区二区三区久久| 亚洲深深色噜噜狠狠爱网站| 亚洲成熟丰满熟妇高潮XXXXX| 丝袜美腿国产一区二区| 欧美成人猛交69| 欧美亚州乳在线观看| 亚洲av影片一区二区三区| 久久国产精品亚洲va麻豆| 精品乱码久久久久久久 | 久久洲Av无码西西人体| 国产的自拍av免费的在线观看| 三年的高清电影免费看| 精品久久综合亚洲伊人| 99久久国产一区二区三区| 亚洲成人av在线第一页| 国产婷婷色综合av蜜臀av| 国产精品大屁股1区二区三区| 久久精品亚洲熟女九色| 亚洲av成人无码久久精品老人| 欧美freesex黑人又粗又大| 日本韩国三级aⅴ在线观看 | 久久九九国产精品怡红院| 日本成人字幕在线不卡| 日本免费大片一区二区三区| 精品亚洲国产成人| 国产成人久久综合热| 成人在线视频亚洲国产| 亚洲av色欲色欲www| 亚洲欧美日韩国产综合一区二区| 国产成人精品一区二免费网站|