BeautifulSoupライブラリの使用

2113 ワード

1.インストール
ここでは最も便利なインストール方式を用いて,cmdにコマンドを入力する(コンピュータにpipがインストールされていることを前提とする)
pip install beautifulsoup4

2.beautifulsoup 4の基本要素
きほんげんそ
説明
Tag
ラベル、最も基本的な情報組織ユニット、それぞれ<>と>で先頭と末尾を明記します
Name
ラベルの名前、...の名前は'p'、フォーマット:.name
Attributes
ラベルのプロパティ、辞書形式の組織、フォーマット:.attrs
NavigableString
ラベル内の非属性文字列、<>...>の文字列、フォーマット:.string
Comment
ラベル内の文字列のコメント部分、特殊なCommentタイプ
3.beautifulsoup 4の遍歴方法
3.1下り遍歴
ツールバーの
説明
.contents
サブノードのリスト、すべてのサブノードをリストに格納
.children
サブノードの反復タイプ..contentsと同様に、サブノードをループするために使用されます.
.descendants
子孫ノードの反復タイプ.すべての子孫ノードを含み、ループループに使用されます. 
3.2上り遍歴
ツールバーの
説明
.parent
ノードの親ラベル
.parents
ノードの先輩ラベルの反復タイプ.先輩ノードをループするために使用されます.
 3.3平行遍歴
ツールバーの
説明
.next_sibling
HTMLテキスト順の次の平行ノードラベルを返します
.previous_sibling
HTMLテキスト順の前の平行ノードラベルを返します
.next_siblings
反復タイプは、HTMLテキスト順の後続のすべての平行ノードラベルを返します.
.previous_siblings
反復タイプは、HTMLテキスト順のすべての平行ノードラベルを返します.
4.beautifulsoup 4ライブラリの出力フォーマット
.prettify()はHTMLテキスト<>とその内容をさらに追加する'.prettify()はラベルに使用できます.方法:.prettify()
5.bs 4ベースの検索方法
<>.find_all(name, attrs, recursive, string, **kwargs)
検索結果を格納するリストタイプを返します
  • name:ラベル名の取得文字列
  • attrs:ラベル属性値の検索文字列、寸法可能属性検索
  • recursive:子孫をすべて取得するかどうか、デフォルトTrue
  • string:<>...における文字列領域の検索文字列
  • **kwargs制御アクセスパラメータ
  • 簡略化された使い方
    (.)は.find_に等しいall(..)
    soup(.)はsoup.find_に等しいall(..)
     拡張メソッド
    方法
    説明
    <>.find()
    検索して1つの結果のみを返します.同じ.find_all()パラメータ
    <>.find_parents()
    先輩ノードで検索し、リストタイプを返します.同じ.find_all()パラメータ
    <>.find_parent()
    先輩ノードで結果を返します.同じ.find()パラメータ
    <>.find_next_siblings()
    後続の平行ノードで検索し、リストタイプを返します.同じ.find_all()パラメータ
    <>.find_next_sibling()
    後続の平行ノードで結果を返します.同じ.find()パラメータ
    <>.find_previous_siblings()
    シーケンス平行ノードで検索し、リストタイプを返します.同じ.find_all()パラメータ
    <>.find_previous_sibling()
    前の順序の平行ノードで結果を返します.同じ.find()パラメータ