python Scrapy框架2—簡單的資料抓取
阿新 • • 發佈:2019-01-01
python Scrapy框架2—資料抓取
spider中的流程
spider資料抓取
在scrapy框架中,我們通過命令
scrapy crawl itcast
去執行spiders中的python指令碼。
這裡的itcast 是name中的內容
兩種初始化url的方法
1、常量start_urls,並且需要定義一個方法parse()
start_urls = [ #另外一種寫法,無需定義start_requests方法 'http://lab.scrapyd.cn/page/1/', 'http://lab.scrapyd.cn/page/2/', ]
2、直接定義一個方法:star_requests()
def start_requests(self): urls = [ #爬取的連結由此方法通過下面連結爬取頁面 'http://lab.scrapyd.cn/page/1/', 'http://lab.scrapyd.cn/page/2/', ] for url in urls: yield scrapy.Request(url=url, callback=self.parse)
處理資料
def parse(self, response): self.log(response.url) page = response.url.split("/")[-2] #根據上面的連結提取分頁,如:/page/1/,提取到的就是:1 filename = 'mingyan-%s.html' % page #拼接檔名,如果是第一頁,最終檔名便是:mingyan-1.html with open(filename, 'wb') as f: #python檔案操作,不多說了; f.write(response.body) #剛才下載的頁面去哪裡了?response.body就代表了剛才下載的頁面! self.log('儲存檔案: %s' % filename) # 打個日誌
這裡的response就是請求到的資料