CrawlSpider
LinkExtractor連接提取器:根據(jù)指定規(guī)則(正則)進(jìn)行連接的提取
Rule規(guī)則解析器:將連接提取器提取到的連接進(jìn)行請(qǐng)求發(fā)送,然后對(duì)獲取的頁(yè)面進(jìn)行指定規(guī)則【callback】的解析
一個(gè)鏈接提取器對(duì)應(yīng)唯一一個(gè)規(guī)則解析器
例:crawlspider深度(全棧)爬取【sunlinecrawl例】
分布式(通常用不到,爬取數(shù)據(jù)量級(jí)巨大、時(shí)間少時(shí)用分布式)
概念:可將一組程序執(zhí)行在多態(tài)機(jī)器上(分布式機(jī)群),使其進(jìn)行數(shù)據(jù)的分布爬取
原生的scrapy框架是否可以實(shí)現(xiàn)分布式?
不能
抽屜
# spider文件 import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule class ChoutiSpider(CrawlSpider): name = 'chouti' # allowed_domains = ['www.xxx.com'] start_urls = ['https://dig.chouti.com/1'] # 連接提取器:從起始url對(duì)應(yīng)的頁(yè)面中提取符合規(guī)則的所有連接;allow=正則表達(dá)式 # 正則為空的話,提取頁(yè)面中所有連接 link = LinkExtractor(allow=r'\d+') rules = ( # 規(guī)則解析器:將連接提取器提取到的連接對(duì)應(yīng)的頁(yè)面源碼進(jìn)行指定規(guī)則的解析 # Rule自動(dòng)發(fā)送對(duì)應(yīng)鏈接的請(qǐng)求 Rule(link, callback='parse_item', follow=True), # follow:True 將連接提取器 繼續(xù) 作用到 連接提取器提取出來(lái)的連接 對(duì)應(yīng)的頁(yè)面源碼中 ) def parse_item(self, response): item = {} #item['domain_id'] = response.xpath('//input[@id="sid"]/@value').get() #item['name'] = response.xpath('//div[@id="name"]').get() #item['description'] = response.xpath('//div[@id="description"]').get() return item
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。