Scrapy八小時快速入門第一小時:安裝,建立與執行我們的Scrapy

zybing發表於2021-09-09

,或者也可以從我的這個地址下載相應的內容,之後我的這個系列的程式碼都會放在

我們tree一下子這個文件,就可以檢視到相應的內容,示例如下:

圖片描述

下面是其中的示例程式碼:

# -*- coding: utf-8 -*-import scrapyclass BooksSpider(scrapy.Spider):
    # 首先要繼承原來額Spider方法
    name = "books"
    # 然後是name ,用於在終端中執行該指令碼
    # allowed_domains = ["books.toscrape.com"]
    # 
    start_urls = [        '',
    ]    # 我們需要一個start url

    def parse(self, response):
        for book_url in response.css("article.product_pod > h3 > a ::attr(href)").extract():            yield scrapy.Request(response.urljoin(book_url), callback=self.parse_book_page)        # 然後是獲取相應內容,並建立解析函式
        next_page = response.css("li.next > a ::attr(href)").extract_first()        if next_page:            yield scrapy.Request(response.urljoin(next_page), callback=self.parse)        # 關鍵之處之一,找到下一個連結

    def parse_book_page(self, response):
        # 解析函式,我們在Scrapy中使用,Selector與xpath選擇器,css選擇器與一些其他Python程式碼實現該功能
        item = {}
        product = response.css("div.product_main")
        item["title"] = product.css("h1 ::text").extract_first()
        item['category'] = response.xpath(            "//ul[@class='breadcrumb']/li[@class='active']/preceding-sibling::li[1]/a/text()"
        ).extract_first()
        item['description'] = response.xpath(            "//div[@id='product_description']/following-sibling::p/text()"
        ).extract_first()
        item['price'] = response.css('p.price_color ::text').extract_first()        yield item

至於,這份程式碼的詳細解釋,我會在之後的內容中給出,當然這份簡單的demo是不能幫助我們真正的入門的,我們還需要一些其他內容,之後我會寫更多的demo.


  • 來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/855/viewspace-2802473/,如需轉載,請註明出處,否則將追究法律責任。

    相關文章