ホームページ > バックエンド開発 > Python チュートリアル > Scrapy フレームワークの実践: Jianshu Web サイトのデータをクロールする

Scrapy フレームワークの実践: Jianshu Web サイトのデータをクロールする

WBOY
リリース: 2023-06-22 09:36:56
オリジナル
1348 人が閲覧しました

Scrapy フレームワークの実践: Jianshu Web サイト データのクロール

Scrapy は、World Wide Web からデータを抽出するために使用できるオープン ソースの Python クローラー フレームワークです。この記事では、Scrapy フレームワークを紹介し、それを使用して Jianshu Web サイトからデータをクロールします。

  1. Scrapy のインストール

Scrapy は、pip や conda などのパッケージ マネージャーを使用してインストールできます。ここでは、pip を使用して Scrapy をインストールします。コマンドラインに次のコマンドを入力します:

pip install scrapy
ログイン後にコピー

インストールが完了したら、次のコマンドを使用して Scrapy が正常にインストールされたかどうかを確認できます:

scrapy version
ログイン後にコピー

次のようなメッセージが表示される場合は、 「Scrapy x.x.x - アクティブなプロジェクトがありません」という出力、Scrapy は正常にインストールされました。

  1. Scrapy プロジェクトの作成

Scrapy の使用を開始する前に、Scrapy プロジェクトを作成する必要があります。コマンド ラインで次のコマンドを入力します。

scrapy startproject jianshu
ログイン後にコピー

これにより、現在のディレクトリに「jianshu」という名前の Scrapy プロジェクトが作成されます。

  1. Scrapy クローラーの作成

Scrapy では、クローラーは Web サイトから抽出されたデータを処理するコンポーネントです。 Jianshu Web サイトを分析し、クローラーを作成するために Scrapy Shell を使用します。

コマンド ラインで次のコマンドを入力します。

scrapy shell "https://www.jianshu.com"
ログイン後にコピー

これにより、Scrapy シェルが起動します。ここで、Jianshu Web サイトのページ ソース コードと要素を表示して、セレクターを作成できます。昇降補助具 。

たとえば、次のセレクターを使用して記事のタイトルを抽出できます:

response.css('h1.title::text').extract_first()
ログイン後にコピー

次のセレクターを使用して記事の著者を抽出できます:

response.css('a.name::text').extract_first()
ログイン後にコピー

Scrapy でテスト済みシェル セレクターを選択した後、クローラー用の新しい Python ファイルを作成できます。コマンド ラインで次のコマンドを入力します:

scrapy genspider jianshu_spider jianshu.com
ログイン後にコピー

これにより、「jianshu_spider」という名前の Scrapy クローラーが作成されます。 Scrapy Shell でテストしたセレクターをクローラーの .py ファイルに追加し、抽出するデータを指定できます。

たとえば、次のコードは、Jianshu Web サイトのホームページにあるすべての記事のタイトルと著者を抽出します。

import scrapy

class JianshuSpider(scrapy.Spider):
    name = 'jianshu_spider'
    allowed_domains = ['jianshu.com']
    start_urls = ['https://www.jianshu.com/']

    def parse(self, response):
        for article in response.css('li[data-note-id]'):
            yield {
                'title': article.css('a.title::text').extract_first(),
                'author': article.css('a.name::text').extract_first(),
            }
ログイン後にコピー
  1. Scrapy クローラーを実行し、結果を出力します。
次に、Scrapy クローラーをコマンド ライン モードで実行し、結果を JSON ファイルに出力します。コマンド ラインで次のコマンドを入力します。

scrapy crawl jianshu_spider -o articles.json
ログイン後にコピー
このコマンドはクローラーを実行し、出力データを「articles.json」という JSON ファイルに保存します。

    結論
この記事では、Scrapy フレームワークを紹介し、それを使用して Jianshu Web サイトからデータをクロールしました。 Scrapy フレームワークを使用すると、Web サイトからのデータ抽出が簡単になり、Scrapy はその同時実行性とスケーラビリティにより、大規模なデータ抽出アプリケーションに拡張できます。

以上がScrapy フレームワークの実践: Jianshu Web サイトのデータをクロールするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート