• 
    

    
    

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

      基于Scrapy的論文引用爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)

      2017-05-12 09:22:54魯繼文
      現(xiàn)代計(jì)算機(jī) 2017年9期
      關(guān)鍵詞:子類(lèi)爬蟲(chóng)調(diào)用

      魯繼文

      (四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)

      基于Scrapy的論文引用爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)

      魯繼文

      (四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)

      互聯(lián)網(wǎng)的迅速發(fā)展對(duì)于信息的發(fā)現(xiàn)和搜集帶來(lái)巨大的挑戰(zhàn),至今爬蟲(chóng)技術(shù)已經(jīng)成為互聯(lián)網(wǎng)研究熱點(diǎn)之一?;赟crapy設(shè)計(jì)一個(gè)采集網(wǎng)頁(yè)上面引用的作者和引用信息的爬蟲(chóng),系統(tǒng)運(yùn)行結(jié)果顯示所設(shè)計(jì)的爬蟲(chóng)對(duì)于爬取引用信息,并將其整理成便于存儲(chǔ)和理解的結(jié)果有較好的效果。

      Scrapy;爬蟲(chóng);引用爬取

      0 引言

      網(wǎng)絡(luò)爬蟲(chóng),有時(shí)稱(chēng)為蜘蛛,是一種系統(tǒng)地瀏覽萬(wàn)維網(wǎng)的因特網(wǎng)機(jī)器人,通常用于網(wǎng)絡(luò)索引(Web Spidering)的目的[1]。Web搜索引擎和其他一些站點(diǎn)使用Web爬行或Spidering軟件來(lái)更新他們的Web內(nèi)容或其他網(wǎng)站的Web內(nèi)容的索引。 Web搜尋器可以復(fù)制他們?cè)L問(wèn)的所有頁(yè)面,以便以后由處理下載的搜索引擎,以便用戶(hù)可以更高效地搜索。抓取工具會(huì)消耗他們?cè)L問(wèn)的系統(tǒng)上的資源,并且經(jīng)常在沒(méi)有默認(rèn)批準(zhǔn)的情況下訪問(wèn)網(wǎng)站。當(dāng)訪問(wèn)大量頁(yè)面集合時(shí),計(jì)劃,加載和“禮貌”的問(wèn)題就會(huì)發(fā)生。存在不希望被爬行的公共站點(diǎn)的機(jī)制,以使爬行代理程序知道它。例如,包括robots.txt文件可以請(qǐng)求漫游器僅對(duì)網(wǎng)站的部分進(jìn)行索引,或者根本不進(jìn)行索引。

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

      Scrapy是一個(gè)可以用來(lái)爬取Web站點(diǎn),提取需要的數(shù)據(jù)結(jié)構(gòu)應(yīng)用程序開(kāi)發(fā)框架,在眾多應(yīng)用程序中得到廣泛運(yùn)用,例如:數(shù)據(jù)挖掘、信息處理或者歷史數(shù)據(jù)處理等。盡管Scrapy的最初設(shè)計(jì)是用來(lái)Web抓取,但現(xiàn)在它也可以用使用API來(lái)提取數(shù)據(jù) (如Amazon Associates Web Servicesi)或通用網(wǎng)絡(luò)爬蟲(chóng)[2]。

      圖1

      首先生成用于抓取第一個(gè)URL的初始請(qǐng)求,然后指定要使用從這些請(qǐng)求下載的響應(yīng)調(diào)用的回調(diào)函數(shù)。

      (1)通過(guò)調(diào)用start_requests()方法(默認(rèn)情況下)為start_urls中指定的URL生成請(qǐng)求以及將parse方法作為請(qǐng)求的回調(diào)函數(shù)來(lái)調(diào)用start執(zhí)行的第一個(gè)請(qǐng)求。

      (2)在回調(diào)函數(shù)中,將解析響應(yīng)(網(wǎng)頁(yè)),并返回帶有提取的數(shù)據(jù)的對(duì)象,項(xiàng)對(duì)象,請(qǐng)求對(duì)象或這些對(duì)象的可迭代對(duì)象。這些請(qǐng)求還將包含回調(diào) (可能是相同的),然后由Scrapy下載,然后由指定的回調(diào)處理它們的響應(yīng)。

      (3)在回調(diào)函數(shù)中,通常使用選擇器來(lái)解析頁(yè)面內(nèi)容 (但也可以使用BeautifulSoup,lxml或其他任何機(jī)制),并使用解析的數(shù)據(jù)生成項(xiàng)目。

      (4)最后,從蜘蛛返回的項(xiàng)目通常將持久存儲(chǔ)到數(shù)據(jù)庫(kù)(在某些項(xiàng)目管道中)或使用Feed導(dǎo)出寫(xiě)入文件。即使這個(gè)循環(huán)(或多或少)適用于任何種類(lèi)的蜘蛛,有不同種類(lèi)的默認(rèn)蜘蛛捆綁到Scrapy中用于不同的目的。例如:Scrapy.Spider,Generic Spiders。我們將在這里談?wù)撨@些類(lèi)型:Scrapy.Spider這是最簡(jiǎn)單的蜘蛛,每個(gè)其他蜘蛛必須繼承的蜘蛛(包括與Scrapy捆綁在一起的蜘蛛,以及你自己寫(xiě)的蜘蛛)。 它不提供任何特殊功能。 它只是提供了一個(gè)默認(rèn)的start_requests()實(shí)現(xiàn),它從start_urls spider屬性發(fā)送請(qǐng)求,并為每個(gè)結(jié)果響應(yīng)調(diào)用spider的方法解析。蜘蛛可以接收修改其行為的參數(shù)。 蜘蛛?yún)?shù)的一些常見(jiàn)用法是定義起始URL或?qū)⑴谰W(wǎng)限制到網(wǎng)站的某些部分,但它們可用于配置蜘蛛的任何功能。Scrapy附帶一些有用的通用蜘蛛,你可以使用它來(lái)子類(lèi)化你的Spider。他們的目的是為一些常見(jiàn)的抓取案例提供方便的功能,例如根據(jù)某些規(guī)則查看網(wǎng)站上的所有鏈接,從站點(diǎn)地圖抓取或解析XML/CSV Feed:CrawlSpider,XMLFeedSpider,CSV FeedSpider,SitemapSpider。

      Requests和Responses是Scrapy用來(lái)抓去網(wǎng)頁(yè)內(nèi)容的最主要的兩個(gè)對(duì)象。通常,請(qǐng)求對(duì)象Requests在爬蟲(chóng)中生成并在其生命周期中傳到整個(gè)系統(tǒng)和,直到他們傳到下載器Downloader,將執(zhí)行結(jié)果返回給請(qǐng)求的爬蟲(chóng),并將這個(gè)Requests對(duì)象釋放。

      請(qǐng)求類(lèi)Requests和響應(yīng)類(lèi)Responses都有子類(lèi),它們是子類(lèi)中不是必需添加功能的基類(lèi)。下面將描述這些請(qǐng)求Requests和響應(yīng)Responses的子類(lèi):

      請(qǐng)求對(duì)象Requests代表了一個(gè)HTTP請(qǐng)求,通常由Spider產(chǎn)生和由Downloader執(zhí)行,從而得到一個(gè)響應(yīng)Responses?;卣{(diào)函數(shù)(調(diào)用)callback,將調(diào)用的響應(yīng)這個(gè)請(qǐng)求(一旦下載)作為它的第一個(gè)參數(shù)。如果一個(gè)請(qǐng)求不指定一個(gè)回調(diào),Spider的parse()方法將被使用。注意,如果異常處理過(guò)程中,errback將被調(diào)用。Cookies指的是這個(gè)請(qǐng)求的cookies,其他使用可以有兩種形式,第一種使用dict:

      第二種是使用dict列表:

      一些網(wǎng)站返回cookies(響應(yīng)),存儲(chǔ)下來(lái)供這個(gè)域使用,并且將在未來(lái)再次發(fā)送請(qǐng)求時(shí)會(huì)被發(fā)送給服務(wù)器端。這是典型的常規(guī)的Web瀏覽器的行為。但是,如果由于某種原因,你想避免與現(xiàn)有cookies合并,可以指示Scrapy通過(guò) Request.meta將 dont_merge_cookies鍵設(shè)置為T(mén)rue。

      請(qǐng)求的回調(diào)是當(dāng)下載該請(qǐng)求的響應(yīng)時(shí)將被調(diào)用的函數(shù)。將使用下載的Response對(duì)象作為其第一個(gè)參數(shù)來(lái)調(diào)用回調(diào)函數(shù)。例如:

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

      此項(xiàng)目提取http://quotes.toscrape.com/這個(gè)網(wǎng)頁(yè)引用當(dāng)中的信息,結(jié)合相應(yīng)的作者姓名和標(biāo)簽。

      本文實(shí)現(xiàn)了兩種蜘蛛,兩個(gè)蜘蛛從同一網(wǎng)站提取相同的數(shù)據(jù),但toscrape-css使用CSS選擇器,而toscrapexpath使用XPath表達(dá)式,通過(guò)list命令進(jìn)行查看:

      3 運(yùn)行結(jié)果演示

      如圖,我們抓取部分作者和他們的引用信息,放在{}當(dāng)中。

      圖2

      4 結(jié)語(yǔ)

      本文基于Scrapy設(shè)計(jì)了一個(gè)采集網(wǎng)頁(yè)上面引用的作者和引用信息的爬蟲(chóng),系統(tǒng)運(yùn)行結(jié)果顯示本文所設(shè)計(jì)的爬蟲(chóng)對(duì)于爬取引用信息,并將其整理成便于存儲(chǔ)和理解的結(jié)果有較好的效果。

      [1]Web crawler.https://en.wikipedia.org/wiki/Web_crawler

      [2]Twisted Introduction.http://krondo.com/an-introduction-to-asynchronous-programming-and-twisted/.

      [3]Product Advertising API.https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html.

      Design and Implementation Crawler of Paper Reference Based on Scrapy

      LU Ji-wen
      (College of Computer Science,Sichuan University,Chengdu 610065)

      The rapid development of the Internet for information discovery and collection has brought great challenges,so far reptile technology has become one of the Internet research hotspot.Based on Scrapy,designs a crawler that references the author and references the information. The results of the system show that the designed crawler has a good effect on crawling the reference information and organizing it into a convenient storage and understanding.

      Scrapy;Web Crawler;Reference Crawling

      1007-1423(2017)09-0131-04

      10.3969/j.issn.1007-1423.2017.09.030

      魯繼文(1991-),男,陜西漢中人,碩士,研究方向數(shù)據(jù)挖掘

      2017-02-28

      2017-03-15

      猜你喜歡
      子類(lèi)爬蟲(chóng)調(diào)用
      利用網(wǎng)絡(luò)爬蟲(chóng)技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
      基于Python的網(wǎng)絡(luò)爬蟲(chóng)和反爬蟲(chóng)技術(shù)研究
      卷入Hohlov算子的某解析雙單葉函數(shù)子類(lèi)的系數(shù)估計(jì)
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      利用爬蟲(chóng)技術(shù)的Geo-Gnutel la VANET流量采集
      關(guān)于對(duì)稱(chēng)共軛點(diǎn)的倒星象函數(shù)某些子類(lèi)的系數(shù)估計(jì)
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲(chóng)技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
      利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
      苍梧县| 莒南县| 东兴市| 镇远县| 志丹县| 通州市| 大安市| 临西县| 五莲县| 达拉特旗| 嘉祥县| 建水县| 收藏| 左权县| 湘阴县| 藁城市| 滁州市| 休宁县| 哈尔滨市| 拜城县| 调兵山市| 平武县| 芒康县| 寻乌县| 鹤山市| 社旗县| 永吉县| 黄平县| 贵定县| 安化县| 渭源县| 玉林市| 广水市| 神池县| 鹤峰县| 柏乡县| 延津县| 东乡族自治县| 彭泽县| 枝江市| 玛沁县|