ウェブをクロール正規表現+ BeautifulSoupが少ないと、より行うことができます。
:URLであなたの手を試してみてくださいBaiduのポストバーを取るhttps://tieba.baidu.com/index.html
1.find_all():現在のノードのすべての子ノード、ノードの孫を検索します。
次の例では、find_all()マッチがそれを貼り付ける分類モジュール、リンクのhref語の「エンターテインメント」とのリンクです。
BS4のインポートBeautifulSoup から urllib.request インポートurlopen インポート再 F = urlopen(' https://tieba.baidu.com/index.html ' ).read() スープ = BeautifulSoup(F、' html.parser ' ) のためのリンクで soup.find_all(' A '、HREF = re.compile(' 娱乐' )): プリント(link.get(' タイトル')+ ' :' + link.get('href "))
結果: Entertainment AVスター:?/ F /インデックス/ forumpark PCN =芸能人&PCI = 0&CT = 1 &RN = 20&のpn = 1 香港と東南アジアスター:?/ F /インデックス/ forumpark CN =香港と東南アジアスター&CI = 0&PCN =芸能人&PCI = 0&CT = 1&RN = 20&のpn = 1 本土星: / F /インデックス/ forumpark CN =本土のスター&CI = 0&PCN =芸能人&PCI = 0&CT = 1 &RN = 20&のpn = 1? 韓国語:?/ F /インデックス/ forumpark CN =韓国星&CI = 0&PCN =芸能人&PCI = 0&CT = 1 &RN = 20&のpn = 1 日本のスター:?/ F /インデックス/ forumpark CN =日本&CI = 0&PCN =芸能人&PCI = 0&CT = 1 &RN = 20&のpn = 1つの ファッションフィギュア: / F ?/インデックス/ forumpark CN =ファッションフィギュア&CI = 0&PCN =芸能人&PCI = 0&CT = 1 &RN = 20&のpn = 1 ヨーロッパやアメリカの星:?/ F /インデックス/ forumpark CN =ヨーロッパやアメリカの星&CI = 0&= PCN芸能人&PCI = 0&CT = 1 &RN = 20&PN = 1 モデレーター: / F /インデックス/ CN =ホスト&forumpark?CI = 0&PCN =芸能人&PCI = 0&CT = 1 &RN = 20&のpn = 1 その他のエンターテイメントの星:?/ F /インデックス/ forumpark CN =他の芸能人&CI = 0&PCN =芸能人&PCI = 0&CT = 1 &RN = 20&PN = 1
soup.find_all( 'A'、HREF = re.compile( ' エンターテイメント' ))スープ(( 'エンターテイメント') 'A'、HREF =に相当する re.compile)
上記の例ではなく、スープも使用することができます。
2.必要な選択()ループコンテンツを使用します。
**タブで検索htmlページへのHREFの先頭に「/ F /インデックス」:
用 LINK2 で soup.select(' [HREF ^ = "/ F /インデックス"] ' :) プリント(link2.get(' タイトル')+ ' :' + link2.get(' のhref '))
** htmlタグで検索のページ「&PN = 1」HREFエンディング:
以下のためのリンク2 で soup.select(' [のhref $ = "&PN = 1"] ' :) プリント(link2.get(' タイトル')+ ' :' + link2.get(' HREF '))
** HREFタグで「娯楽」と検索htmlページ:
用 LINK3 で soup.select(' [HREF * = "娱乐"] ' :) プリント(link3.get(' タイトル')+ ' :' + link3.get(' のhref '))