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

        ?

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

        2017-10-21 03:40:21威,夏
        關鍵詞:選品爬蟲頁面

        施 威,夏 斌

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

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

        施 威,夏 斌

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

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

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

        0 引言

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

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

        1 相關技術簡介

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

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

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

        1.2Scrapy

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

        圖1 Scrapy整體架構

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

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

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

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

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

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

        1.3Xpath

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

        2 系統(tǒng)設計

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

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

        圖2 系統(tǒng)框架

        2.2爬蟲調(diào)度

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

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

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

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

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

        2.3頁面加載器

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

        2.4HTML解析器

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

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

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

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

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

        圖5 樣例展示

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

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

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

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

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

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

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

        3.3反爬機制應對策略

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

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

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

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

        4 結論

        通過將商品基本信息、評論數(shù)據(jù)抓取下來,并對評論進一步地精確化,計算出更具參考價值的選品指標,對選品質(zhì)量起到了一定的提高作用,同時也大大節(jié)約了眾多店鋪商的手工查詢時間,幫助他們實現(xiàn)更好的收益。本文利用互聯(lián)網(wǎ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)絡編程中的遠程調(diào)用研究[J]. 電腦編程技巧與維護, 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信息抽取的設計與實現(xiàn)[J]. 計算機工程, 2003, 29(16):82-83.

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

        [7] 鄒科文,李達,鄧婷敏,等. 網(wǎng)絡爬蟲針對“反爬”網(wǎng)站的爬取策略研究[J]. 電腦知識與技術,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)絡爬蟲性能研究[J]. 微型機與應用, 2011, 30(5):72-74.

        [10] 王勇杰. 電子商務網(wǎng)站中購物車的實現(xiàn)[J]. 微型機與應用, 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)設計[J].微型機與應用,2017,36(19):12-15.

        上海市科學技術委員會資助項目(14441900300);國家自然科學基金(61550110252)

        2017-04-08)

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

        猜你喜歡
        選品爬蟲頁面
        大狗熊在睡覺
        利用網(wǎng)絡爬蟲技術驗證房地產(chǎn)灰犀牛之說
        刷新生活的頁面
        READY, SET, GO一二三,齊步走
        欣漾(2022年3期)2022-04-29 20:09:29
        學會這些直播帶貨的選品方式
        基于Python的網(wǎng)絡爬蟲和反爬蟲技術研究
        跨境電子商務出口貿(mào)易中選品的思路及技巧
        利用爬蟲技術的Geo-Gnutel la VANET流量采集
        電子測試(2018年1期)2018-04-18 11:53:04
        大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡爬蟲技術
        電子制作(2017年9期)2017-04-17 03:00:46
        選品定位的“四大策略”
        狠狠色噜噜狠狠狠狠色综合久| 国产不卡在线观看视频| 亚洲综合另类小说色区| 亚洲av无码成人专区片在线观看| 亚洲一区综合精品狠狠爱| 成年女人18毛片毛片免费| 国产精品国产自产自拍高清av| 精品亚洲国产成人| 婷婷亚洲综合五月天小说| 国产小车还是日产的好| 午夜精品免费视频一区二区三区| 好男人社区影院www| 无遮挡亲胸捏胸免费视频| 国产男女做爰猛烈视频网站| 麻豆国产精品一区二区三区| 免费看av在线网站网址| 国产精美视频| 国产精品三级1区2区3区| 国产一区二区三区三区四区精品| 成人毛片一区二区| 国产97色在线 | 免| 麻豆三级视频网站在线观看 | 亚洲狠狠婷婷综合久久| 国产视频嗯啊啊啊| 亚洲福利二区三区四区| 欧美精品亚洲精品日韩专区| 午夜一级韩国欧美日本国产| 中文字幕a区一区三区| av素人中文字幕在线观看| 国内精品久久久久影院一蜜桃| 乱人伦中文字幕在线不卡网站| 亚洲天堂一区二区三区 | 亚洲精品98中文字幕| 人妻少妇乱子伦精品无码专区电影 | 日本高清aⅴ毛片免费| 精品系列无码一区二区三区| 国产精品熟女一区二区三区 | 精品无码人妻一区二区三区品| 久久亚洲午夜牛牛影视| 国产精品一区二区韩国av| 日韩放荡少妇无码视频|