共計 994 個字符,預計需要花費 3 分鐘才能閱讀完成。
Scrapy 框架中的 CrawlSpider 是一種高級爬蟲,它提供了一種更方便的方式來編寫爬蟲,特別適用于處理需要跟蹤鏈接的網站。
使用 CrawlSpider,你需要創建一個新的 spider 類,繼承自 CrawlSpider,并定義一些規則來指定如何跟蹤鏈接和提取數據。下面是一個簡單示例:
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
class MySpider(CrawlSpider):
name = 'myspider'
allowed_domains = ['example.com']
start_urls = ['http://www.example.com']
rules = (Rule(LinkExtractor(allow=(r'category\.php',)), callback='parse_category'),
Rule(LinkExtractor(allow=(r'item\.php',)), callback='parse_item'),
)
def parse_category(self, response):
# 處理分類頁面的響應
def parse_item(self, response):
# 處理商品頁面的響應
在上面的示例中,allowed_domains
用于指定允許爬取的域名,start_urls
用于指定起始 URL。
rules
是一個元組,其中包含一系列規則,每個規則都包含一個 LinkExtractor 對象和一個回調函數。LinkExtractor 對象用于指定要跟蹤的鏈接的匹配規則,可以使用正則表達式。回調函數用于處理每個匹配到的鏈接的響應。
在上面的示例中,第一個規則將匹配所有包含 "category.php" 的鏈接,并將其響應傳遞給 parse_category
方法進行處理。第二個規則將匹配所有包含 "item.php" 的鏈接,并將其響應傳遞給 parse_item
方法進行處理。
以上就是使用 CrawlSpider 的基本用法。你可以根據需要定義更多的規則和回調函數來處理不同類型的鏈接和數據。
丸趣 TV 網 – 提供最優質的資源集合!
正文完
發表至: Python
2024-02-05