Python-web-scraping-data-extraction
Python Webスクレイピング-データ抽出
Webページを分析するということは、その構造を理解することを意味します。 さて、なぜWebスクレイピングにとって重要なのかという疑問が生じます。 この章では、これを詳細に理解してみましょう。
Webページ分析
Webページの分析は重要です。分析なしでは、抽出後にそのWebページ(構造化または非構造化)からデータを受信する形式を知ることができないためです。 私たちは次の方法でウェブページの分析を行うことができます-
ページソースの表示
これは、ソースコードを調べることでWebページがどのように構成されているかを理解する方法です。 これを実装するには、ページを右クリックし、[ページのソースを表示]オプションを選択する必要があります。 次に、そのWebページから関心のあるデータをHTMLの形式で取得します。 しかし、主な関心事は、書式設定が困難な空白と書式設定です。
[要素の検査]オプションをクリックしてページソースを検査する
これは、Webページを分析する別の方法です。 ただし、違いは、Webページのソースコードの書式設定と空白の問題を解決することです。 これを実装するには、右クリックして、メニューから Inspect または Inspect element オプションを選択します。 そのWebページの特定の領域または要素に関する情報を提供します。
Webページからデータを抽出するさまざまな方法
以下の方法は、主にWebページからデータを抽出するために使用されます-
正規表現
Pythonに埋め込まれた高度に専門化されたプログラミング言語です。 Pythonの re モジュールで使用できます。 REまたは正規表現または正規表現パターンとも呼ばれます。 正規表現の助けを借りて、データから照合する文字列の可能なセットに対していくつかのルールを指定できます。
正規表現全般について詳しく知りたい場合は、リンクlink//automata_theory/regular_expressions [https://www.finddevguides.com/automata_theory/regular_expressions]にアクセスし、reモジュールまたは正規表現について詳しく知りたい場合Pythonでは、リンク:/python/python_reg_expressions [link https://www.finddevguides.com/python/python_reg_expressions]をたどることができます。
例
次の例では、正規表現を使用して<td>の内容を照合した後、http://example.webscraping.comからインドに関するデータをスクレイピングします。
出力
対応する出力は次のようになります-
上記の出力では、正規表現を使用して、インドの国に関する詳細を確認できます。
美しいスープ
Webページからすべてのハイパーリンクを収集したい場合、BeautifulSoupという名前のパーサーを使用できます。これは、https://www.crummy.com/software/BeautifulSoup/bs4/doc/[[[1]]]簡単に言えば、BeautifulSoupはHTMLおよびXMLファイルからデータを引き出すためのPythonライブラリです。 スープオブジェクトを作成するために入力(ドキュメントまたはURL)が必要なため、それ自体ではWebページを取得できないため、リクエストで使用できます。 次のPythonスクリプトを使用して、Webページとハイパーリンクのタイトルを収集できます。
Beautiful Soupのインストール
例
この例では、Pythonモジュールのリクエストで実装された上記の例を拡張していることに注意してください。 Webページのタイトルなどの詳細を取得するためにさらに使用されるスープオブジェクトの作成に r.text を使用しています。
まず、必要なPythonモジュールをインポートする必要があります-
この次のコード行では、リクエストを使用して、GETリクエストを作成することにより、URL [[2]] HTTPリクエストを作成します。
今、私たちは次のようにスープオブジェクトを作成する必要があります-
出力
対応する出力は次のようになります-
Lxml
Webスクレイピングについて説明するもう1つのPythonライブラリはlxmlです。 これは、高性能のHTMLおよびXML解析ライブラリです。 比較的高速で簡単です。 詳細については、https://lxml.de/[[[3]]]をご覧ください。
lxmlのインストール
pipコマンドを使用して、仮想環境またはグローバルインストールのいずれかに lxml をインストールできます。
例:lxmlとリクエストを使用したデータ抽出
次の例では、lxmlとリクエストを使用して、 authoraditiagarwal.com からWebページの特定の要素をスクレイピングしています-
まず、次のようにlxmlライブラリからリクエストとhtmlをインポートする必要があります-
次に、スクラップするWebページのURLを指定する必要があります
今、私たちはそのウェブページの特定の要素にパス*(Xpath)*を提供する必要があります-
出力
対応する出力は次のようになります-