PythonのBS4ライブラリ

美しいスープは、あなたがそれを与える何かを解析し、あなたのためのツリートラバーサルのものを行います。

BeautifulSoupライブラリはトラバース、解決され、メンテナンス「タグツリー」関数ライブラリ(トラバーサルは一度だけ行われ、訪問を行いましたツリーの各ノードに続くルートに沿って帯状の検索を参照します)。https://www.crummy.com/software/BeautifulSoup

BS4インポートBeautifulSoupから:BeautifulSoupライブラリは、私たちはしばしばライブラリをインポート、BS4を呼び出します。前記インポートBeautifulSoup即ち主BS4でBeautifulSoupクラス。

BS4パーサライブラリ

クラスBeautifulSoupの基本要素

インポート要求。1 
 2 BeautifulSoupインポートBS4から
 。3 
 。4 requests.get RESの=( 'http://www.pmcaff.com/site/selection')
 。5 = BeautifulSoupスープ(res.text、 'lxmlの')
 。6プリント(スープ。 A)
 。7#HTML構文中に存在する任意のタグを使用することができるスープ。<タグ>アクセスを得るために、対応するコンテンツは、スープ。<タグ>は最初のHTML文書を返す同じ<タグ>が複数存在します。
 8 
 。9プリント(soup.a.name)
10#各<タグ>は、独自の名前を持つ、.nameの<タグ>によって得ることができる、文字列型
。11 
12プリント(soup.a.attrs)で
13プリント(スープです。 a.attrs [ 'クラス'])
14#<タグ>は1つまたは複数の属性、タイプ辞書有していてもよい
15 
16プリント(soup.a.string)を
17#.stringタグnonattributedに取ることができ、<タグ>が文字列
18がある
。soup1 19 BeautifulSoup =( '<P> <! -ここにコメントがある- > </ P>'、 'lxmlの'
22#コメントは、特殊なタイプですまた、<タグ> .stringて撮影することができます

結果:

<a href=""> class="no-login"登录する</a>

A

{ 'HREF': ''、 'クラス':[ '非ログイン']} [ '非ログイン']

ログイン

ここにコメントがあります

<クラスのbs4.element.Comment '>

HTMLコンテンツBS4トラバーサルライブラリー

HTMLの基本構造

木のダウンリンクタグを横断

ここで、BeautifulSoupタグタイプは、ツリーのルートです。

子ノード#1横断
soup.body.childrenに子供のための2:
3プリント(child.name)
4。
5#子孫ノードトラバーサル。
6 soup.body.descendantsで子供のための:。
。7プリント(child.name)

ツリーのタグを横断

#1 ...分析ません... ELSEので、もし、スープ自体を含む、すべての祖先ノードを横断
soup.a.parentsに親のための2:
3なし親がいる場合:
4印刷(親が)
。5他:
。6印刷( parent.name)

結果:

DIV

DIV

HTML

[資料]

タグツリートラバーサルパラレル

1 # 遍历后续节点
2 for sibling in soup.a.next_sibling:
3     print(sibling)
4 
5 # 遍历前续节点
6 for sibling in soup.a.previous_sibling:
7     print(sibling)

bs4库的prettify()方法

prettify()方法可以将代码格式搞的标准一些,用soup.prettify()表示。在PyCharm中,用print(soup.prettify())来输出。

おすすめ

転載: www.cnblogs.com/ltn26/p/10983836.html