1. 程式人生 > >python Scrapy框架2—簡單的資料抓取

python Scrapy框架2—簡單的資料抓取

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就是請求到的資料