久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

【Python面試真題】- scrapy和scrapy-redis有什么區(qū)別?為什么選擇redis數(shù)據(jù)庫(kù)?

【Python面試真題】- scrapy和scrapy-redis有什么區(qū)別?為什么選擇redis數(shù)據(jù)庫(kù)?

1) scrapy是一個(gè)Python爬蟲(chóng)框架,爬取效率極高,具有高度定制性,但是不支持分布式。而scrapy-redis一套基于redis數(shù)據(jù)庫(kù)、運(yùn)行在scrapy框架之上的組件,可以讓scrapy支持分布式策略,Slaver端共享Master端redis數(shù)據(jù)庫(kù)里的item隊(duì)列、請(qǐng)求隊(duì)列和請(qǐng)求指紋集合。

2) 為什么選擇redis數(shù)據(jù)庫(kù),因?yàn)閞edis支持主從同步,而且數(shù)據(jù)都是緩存在內(nèi)存中的,所以基于redis的分布式爬蟲(chóng),對(duì)請(qǐng)求和數(shù)據(jù)的高頻讀取效率非常高。

2. 你用過(guò)的爬蟲(chóng)框架或者模塊有哪些?談?wù)勊麄兊膮^(qū)別或者優(yōu)缺點(diǎn)?

Python自帶:urllib,urllib2

第?三?方:requests

框????架:Scrapy

urllib和urllib2模塊都做與請(qǐng)求URL相關(guān)的操作,但他們提供不同的功能。

urllib2.:urllib2.urlopen可以接受一個(gè)Request對(duì)象或者url,(在接受Request對(duì)象時(shí)候,并以此可以來(lái)設(shè)置一個(gè)URL 的headers),urllib.urlopen只接收一個(gè)url

urllib 有urlencode,urllib2沒(méi)有,因此總是urllib,urllib2常會(huì)一起使用的原因

scrapy是封裝起來(lái)的框架,他包含了下載器,解析器,日志及異常處理,基于多線程, twisted的方式處理,對(duì)于固定單個(gè)網(wǎng)站的爬取開(kāi)發(fā),有優(yōu)勢(shì),但是對(duì)于多網(wǎng)站爬取 100個(gè)網(wǎng)站,并發(fā)及分布式處理方面,不夠靈活,不便調(diào)整與括展。

request 是一個(gè)HTTP庫(kù), 它只是用來(lái),進(jìn)行請(qǐng)求,對(duì)于HTTP請(qǐng)求,他是一個(gè)強(qiáng)大的庫(kù),下載,解析全部自己處理,靈活性更高,高并發(fā)與分布式部署也非常靈活,對(duì)于功能可以更好實(shí)現(xiàn).

Scrapy優(yōu)缺點(diǎn):

優(yōu)點(diǎn):scrapy 是異步的

采取可讀性更強(qiáng)的xpath代替正則

強(qiáng)大的統(tǒng)計(jì)和log系統(tǒng)

同時(shí)在不同的url上爬行

支持shell方式,方便獨(dú)立調(diào)試

寫middleware,方便寫一些統(tǒng)一的過(guò)濾器

通過(guò)管道的方式存入數(shù)據(jù)庫(kù)

缺點(diǎn):基于Python的爬蟲(chóng)框架,擴(kuò)展性比較差

基于twisted框架,運(yùn)行中的exception是不會(huì)干掉reactor,并且異步框架出錯(cuò)后是不會(huì)停掉其他任務(wù)的,數(shù)據(jù)出錯(cuò)后難以察覺(jué)。

聲明:文章來(lái)源于網(wǎng)絡(luò),侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!

    1. 主站蜘蛛池模板: 隆安县| 江都市| 白朗县| 松江区| 新丰县| 台州市| 安图县| 满洲里市| 宁夏| 循化| 浦北县| 土默特右旗| 安福县| 德安县| 青州市| 怀柔区| 汕头市| 吉林市| 垫江县| 邳州市| 曲水县| 隆安县| 嵩明县| 望都县| 金溪县| 济阳县| 荆门市| 邵阳县| 娄底市| 偃师市| 武陟县| 清河县| 嘉峪关市| 康定县| 洛宁县| 德昌县| 舒城县| 革吉县| 伊金霍洛旗| 刚察县| 正镶白旗|