私はウェブサイトスクレーパーで進歩し始めていますが、私は2つの問題にぶつかりました。ここでは、コード最初です:python3&beautifulsoup 4で掻き集めるウェブサイト
import requests
from bs4 import BeautifulSoup
r=requests.get("http://www.nytimes.com")
soup=BeautifulSoup(r.text)
headlines=soup.find_all(class_="story-heading")
for headline in headlines:
print (headline)
質問
なぜ
find_all(class_= blahblahblah)
だけではなくfind_all(blahblahblah)
を使用する必要がありますか?story-heading
はそれ自身のクラスですが、find_all
を使用してすべてのHTMLを検索して同じ結果を得ることはできません。 BeautifulSoupの注釈では、HTML文書内のすべてのアンカータグを返すfind_all.aが表示されますが、なぜfind_all("story-heading")
は同じことをしませんか?私が試してみると、HTML内の「ストーリーヘッディング」のすべてのインスタンスを見つけて返すだけなのでしょうか?私はそのタグのすべてを返すようにPythonを取得しようとしています。それは私の最高の推測です。
この余分な迷惑メールコードをすべて取得するのはなぜですか?私がストーリーヘッダータグ内のすべてを見せてくれるようにお願いしたいのですか?私は指定しようとしているものよりも多くのテキストを取得しています。
コードをポスト内の通常のテキストではなくコードとしてフォーマットしてください。 – Keatinge