Scrapyを使用したWebスクレイピングのPython実装
この記事では、Pythonで利用可能なScrappyモジュールを使用したWebスクレイピング手法について学習します。
ウェブスクレイピングとは何ですか?
Webスクレイピングは、クローラー/スキャナーを使用してWebサイトからデータを取得/取得するために使用されます。 Webスクレイピングは、APIの機能を提供しないWebページからデータを抽出するのに便利です。 Pythonでは、Beautiful Soup、Scrappy、lxmlなどのさまざまなモジュールを使用してWebスクレイピングを実行できます。
ここでは、Scrappyモジュールを使用したWebスクレイピングについて説明します。
そのためには、まずScrappyをインストールする必要があります。
ターミナルまたはコマンドプロンプトを入力します
>>> pip install Scrappy
Scrappy として 初期化コマンドを実行するために必要なフレームワークです
>>>プロジェクトのtutptsを開始します
ここでは、ウェブクローラーを作成します /スパイダーでウェブサイトからデータを取得します。
クローラーを構築するために、 tutptscraw.pyという名前の別のスクリプトを作成します ここでは、コンテンツを抽出するためのクラスを宣言します。ここでは、Webクローラーに名前を付け、.requestsを使用して、指定されたURLからデータをフェッチします。
フェッチされたデータを生成するジェネレータ関数が使用されます。
例
import scrapy class ExtractUrls(scrapy.Spider): name = "fetch" # generator Function def start_requests(self): # enter the URL urls = ['https://www.tutorialspoint.com/index.htm/', ] for url in urls: yield scrapy.Request(url = url, callback = self.parse)
ここで、アンカータグ内にカプセル化されたすべてのデータは、リクエスト関数を使用してフェッチされます。スクラップはミニフレームワークであるため、すべての機能をスクラップシェルで実行します。
スクラップシェルをアクティブ化するには、次のコマンドを使用します
スクレイピーシェルhttps://www.tutorialspoint.com/index.htm/
次に、セレクター(CSSまたはxpaths)を使用してアンカータグからデータをフェッチします
response.css('a') links = response.css('a').extract()
Webページで利用可能なすべてのリンクを取得するために、解析メソッドを作成します。 Scrappyは、以前にアクセスしたURLを内部的にバイパスして、結果の表示中のレンダリング時間を短縮します。
import scrapy class ExtractUrls(scrapy.Spider): name = "fetch" # generator Function def start_requests(self): # enter the URL urls = ['https://www.tutorialspoint.com/index.htm/', ] for url in urls: yield scrapy.Request(url = url, callback = self.parse) # Parse function def parse(self, response): title = response.css('title::text').extract_first() # Get anchor tags links = response.css('a::attr(href)').extract() for link in links: yield { 'title': title, 'links': link } if 'tutorialspoint' in link: yield scrapy.Request(url = link, callback = self.parse)
結論
このチュートリアルでは、PythonでScrappyモジュールを使用したWebクローラーの実装について学習しました
-
Webスクレイピング用のPythonツール
コンピュータサイエンスでは、WebスクレイピングとはWebサイトからデータを抽出することを意味します。この手法を使用すると、ウェブ上の非構造化データが構造化データに変換されます。 Python3で最も一般的なWebスクレイピングツールは-です。 Urllib2 リクエスト BeautifulSoup Lxml セレン MechanicalSoup Urllib2 −このツールにはPythonがプリインストールされています。このモジュールは、URLを抽出するために使用されます。さまざまなプロトコル(FTP、HTTPなど)を使用してURLをフェッチするurlopen()
-
31 の最高の Web スクレイピング ツール
コーディングに慣れていない人にとって、Web スクレイパーを作成するのは難しいかもしれません。幸いなことに、Web スクレイピング ソフトウェアは、プログラマーと非プログラマーの両方が利用できます。 Web スクレイピング ソフトウェアは、Web サイトから関連データを取得するために特別に設計されたソフトウェアです。これらのツールは、何らかの方法でインターネットからデータを取得したい人にとって有益です。この情報は、コンピューター上のローカル ファイルまたはデータベースに記録されます。 Web用のデータを自律的に収集する技術です。 31 の最高の無料 Web スクレイピング ツールのリストを紹介