pythonのCrawlSpiderの使い方は何ですか?

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メソッドに渡して処理します。2番目のルールはすべての「item.php」を含むリンクに一致し、応答をparse_itemメソッドに渡して処理します。

CrawlSpiderの基本的な使用方法は以上です。異なる種類のリンクやデータを処理するために必要に応じてさらに多くのルールやコールバック関数を定義することができます。

bannerAds