scrapy框架全站資料爬取

2022-10-11 12:36:12 字數 1439 閱讀 4699

每個**都有很多頁碼,將**中某板塊下的全部頁碼對應的頁面資料進行爬取

實現方式有兩種:

1、將所有頁面的url新增到start_urls列表(不推薦)

2、自行手動進行請求傳送(推薦)yield scrapy.request(url,callback):callback專門用做於資料解析

下面我們介紹第二種方法

#爬蟲檔名稱:爬蟲原檔案唯一標識

name = 'first'

#允許的網域名稱:用來限定start_urls列表中哪些url可以進行請求傳送

# allowed_domains = ['']

#起始的url列表:該列表中存放的url會被scrapy自動進行請求的傳送

start_urls = ['']

#生成乙個通用的url模板

url = 'pg%d'

page_num = 2

# 用作於資料解析:response引數表示的就是請求成功後對應的響應物件

def parse(self, response):

li_list = response.xpath('//div[@class="er-list"]/div')

for li in li_list:

# 區域性解析

# extract可以將selector物件中data引數儲存的字串提取出來

# title = li.xpath('./div/div[2]/div/a/text()')[0].extract()

title = li.xpath('./div/div[2]/div/a/text()').extract_first()

price = li.xpath('./div/div[4]/div[2]/span[2]/text()').extract_first()

item = scrapyproitem()

item['title'] = title

item['price'] = price

yield item # 將item提交給管道

if self.page_num <= 11:

new_url = format(self.url % self.page_num)

self.page_num += 1

# 手動請求傳送:callback**函式是專門用作於資料解析

yield scrapy.request(url=new_url, callback=self.parse)

scrapy 全站爬取

如何查詢scrapy有哪些模版?scrapy genspider list 如何建立crawl模版?scrapy genspider t crawl 網域名稱 scrapy genspider t crawl i.cnblogs.com 如何把搜尋目錄加入到環境變數?setting import o...

scrapy爬取實習僧全站

最近想爬一下各大招聘 來分析一下,首先我們從實習僧開始。首先我們開啟首頁分析,我需要的是整站的資料,所以就需要將所有的分類都爬下來,如果你只是想分析某乙個行業的資料,實習僧的介面也非常簡單。這裡k就是搜尋關鍵字了,p是頁碼。我們需要獲取的是包括it網際網路到 設計的所有分類下的鏈結。都在網頁原始碼裡...

scrapy框架爬取豆瓣電影的資料

1.什麼是scrapy框架?scrapy是乙個為了爬取 資料,提取結構性資料而編寫的應用框架。其可以應用在資料探勘,資訊處理或儲存歷史資料等一系列的程式中。其最初是為了頁面抓取 更確切來說,網路抓取 所設計的,也可以應用在獲取api所返回的資料 例如 amazon associates web se...