2017-11-10 28 views
0

次のコードが画面上のHTMLコードが含まれている変数であるhtml_docのタグを印刷するために使用されている:どのようなfind_all()関数とBeautifulSoupパッケージのSoupStrainerの違いは何ですか?

print(BeautifulSoup(html_doc, "html.parser").find_all("a").prettify()) 

from bs4 import SoupStrainer 

only_a_tags = SoupStrainer("a") 

print(BeautifulSoup(html_doc, "html.parser", parse_only=only_a_tags).prettify()) 

次のコードは、同じ結果を返しますSoupStrainerとfind_all()関数の違いは?

SoupStrainerとFind_all()の両方を使用できますか?

は、私は以下のが見つかりましたが、それが何をするかを理解することはできません:航行文字列の反復可能オブジェクトを返しますfind_all

BeautifulSoup(response,parse_only=SoupStrainer("a",href=True)).find_all("a") 

答えて

0

、SoupStrainerは、特定のパラメータを使ってスープを制限するために、ページを解析します。

ページ内の各アンカーを反復処理して、それぞれのアクションを実行するには、find_allを使用します。アンカー以外のページからすべてを解析したい場合は、SoupStrainerを使用します。それらを一緒に使うだけで、少し効率的になります。

関連する問題