做一個簡單的scrapy爬蟲


前言:

做一個簡單的scrapy爬蟲,帶大家認識一下創建scrapy的大致流程。我們就抓取扇貝上的單詞書,python的高頻詞匯。

 

 

步驟:

一,新建一個工程scrapy_shanbay

 

二,在工程中中新建一個爬蟲項目,scrapy startproject shanbei_spider

 

 

三,切入到項目目錄下,然后在項目中,新建一個爬蟲spider。scrapy crawl shanbay shanbay.com

 

四,在item中,新建一個字段,既要獲取的字段。

 

五,開始書寫spider,里面分兩部分,第一部分 start_request()主要是獲取所有的url,第二部分是解析頁面,獲取所需要的字段,並存儲。

import scrapy
from scrapy.http import Request
from shanbay_spider.items import ShanbaySpiderItem

class ShanbaySpider(scrapy.Spider):
    name = 'shanbay'
    allowed_domains = ['shanbay.com']
    # start_urls = ['http://shanbay.com/']

    def start_requests(self):
        for i in range(29):
            page = 540709 + i * 3
            url_base = 'https://www.shanbay.com/wordlist/187711/' + str(page) + '/?page={}'
            for x in range(10):
                url = url_base.format(x+ 1)
                yield Request(url,self.parse)

    def parse(self, response):
        html_contents = response.xpath('/html/body/div[3]/div/div[1]/div[2]/div/table/tbody/tr//*/text()')
        item = ShanbaySpiderItem()


        for result in html_contents:

            item['Chinese'] = result.extract()
            yield item

 

 六,執行運行保存命令,scrapy crawl shanbay -o shanbay.csv

 

 七,東西都保存在shanbay.csv中了

總結,其實這個非常簡單,但是你用scrapy你會明顯感覺到比requests快的很多。而且相比於requests庫,你發現用scrapy會很簡單。比較明顯的一點就是你用request的話,你需要自己寫個列表存放url,存進去再一個一個拿出來。再scrapy中,你只需要把url生成,然后yield request就行了,非常之方便。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM