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

        ?

        基于Scrapy的商品評價獲取系統(tǒng)設(shè)計*

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

        施 威,夏 斌

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

        基于Scrapy的商品評價獲取系統(tǒng)設(shè)計*

        施 威,夏 斌

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

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

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

        0 引言

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

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

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

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

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

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

        1.2Scrapy

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

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

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

        (2)Scheduler:調(diào)度器,用來接受Engine發(fā)過來的請求,壓入隊列中,并在引擎再次請求時返回;

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

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

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

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

        1.3Xpath

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

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

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

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

        圖2 系統(tǒng)框架

        2.2爬蟲調(diào)度

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

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

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

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

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

        2.3頁面加載器

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

        2.4HTML解析器

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

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

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

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

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

        圖5 樣例展示

        頁面加載過后需要對頁面數(shù)據(jù)進(jìn)行解析,解析后提取出需要的數(shù)據(jù),然后對提取出的數(shù)據(jù)進(jìn)行整合,最后對數(shù)據(jù)加以處理,并將有效的評價信息進(jìn)行文件固化。利用Xpath對HTML原數(shù)據(jù)進(jìn)行提取操作。例如,提取商品價格get_price的Xpath語法如下: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用來保存數(shù)據(jù)的容器模型,創(chuàng)建Item子類并定義相應(yīng)字段field即可創(chuàng)建數(shù)據(jù)模型。數(shù)據(jù)提取流程如圖3所示。

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

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

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

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

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

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

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

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

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

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

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

        4 結(jié)論

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

        [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è)計與實(shí)現(xiàn)[J]. 計算機(jī)工程, 2003, 29(16):82-83.

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

        [7] 鄒科文,李達(dá),鄧婷敏,等. 網(wǎng)絡(luò)爬蟲針對“反爬”網(wǎng)站的爬取策略研究[J]. 電腦知識與技術(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)站中購物車的實(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的商品評價獲取系統(tǒng)設(shè)計[J].微型機(jī)與應(yīng)用,2017,36(19):12-15.

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

        2017-04-08)

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

        猜你喜歡
        選品爬蟲頁面
        大狗熊在睡覺
        利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說
        刷新生活的頁面
        READY, SET, GO一二三,齊步走
        欣漾(2022年3期)2022-04-29 20:09:29
        學(xué)會這些直播帶貨的選品方式
        基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
        跨境電子商務(wù)出口貿(mào)易中選品的思路及技巧
        利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
        電子測試(2018年1期)2018-04-18 11:53:04
        大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
        電子制作(2017年9期)2017-04-17 03:00:46
        選品定位的“四大策略”
        日韩精品熟女中文字幕| 精品的一区二区三区| 女同性恋一区二区三区四区| 男女交射视频免费观看网站| 日韩放荡少妇无码视频| 99热这里只有精品国产99热门精品| 日本女优一区二区在线免费观看 | 欧美成人精品三级在线观看| 亚洲天堂一区二区三区视频| 欧美性猛交xxxx乱大交极品| 日日噜狠狠噜天天噜av| 在线观看国产精品91| 日本av一区二区在线| 成年女人a级毛片免费观看| 国产精品内射后入合集| 日本韩国黄色三级三级| 亚洲精品第一页在线观看 | 日本韩国男男作爱gaywww| 欧美熟妇色ⅹxxx欧美妇| 国产精品国产午夜免费福利看| 尤物蜜桃视频一区二区三区| 久久久www成人免费毛片| 97无码人妻Va一区二区三区| 国产亚洲精品高清视频| 国产精品国产三级国产a| 国产精品成年片在线观看| 国产欧美激情一区二区三区| 精品一区二区三区久久| 超碰cao已满18进入离开官网| 色综合久久综合欧美综合图片| 日本高清色一区二区三区| 欧洲美女熟乱av| 亚洲成成品网站源码中国有限公司| 国产三级黄色的在线观看| 日本伦理精品一区二区三区| 国产真实偷乱视频| 国产高潮流白浆免费观看不卡 | 伊人影院在线观看不卡| 凌辱人妻中文字幕一区| 日本高清色倩视频在线观看| 精品国产日韩无 影视|