3

こんにちは、beautifulsoup を使用して、バンク オブ アメリカを何時間もスクレイピングする方法を考えていました。たとえば、URL が (Shattuck_Ave_94704_BERKELEY_CA/bank_branch_locations/">http://locators.bankofamerica.com/locator/locator/2129_ Shattuck _Ave_94704_BERKELEY_CA/bank_branch_locations/) の場合、時間のみを抽出するにはどうすればよいですか?以下は私の最初の試みです。しかし、何も返さないようです。

page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
hours = soup.find_all("div", class_="lobbyHours")
print hours
4

1 に答える 1

5

その URL はリダイレクトされるため、soup.find_all("div", class_="lobbyHours")何も返されません。divリダイレクト先のページにそのクラスはありません。

Firefox のFirebugでネットワーク トラフィックを監視したところ、リクエストしている URL が実際に301 Moved Permanentlyステータス コードを返すことがわかりました。幸いなことに、応答ヘッダーの 301 ステータス コードでもヘッダーが提供されますLocation。この場合:

'http://locators.bankofamerica.com/locator/locator/LocatorAction.do?shouldTest=true'

ブランチ検索ページです。このページから始めて、目的の場所をプログラムで「検索」し、適切なリンクを見つけて、3 番目の要求を実行する必要があります。

このサイトでも Cookie を使用しているため、cookielibを調べてください。

于 2013-01-18T21:35:51.467 に答える