每個**都有很多頁碼,將**中某板塊下的全部頁碼對應的頁面資料進行爬取
實現方式有兩種:
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...