3

嗨,我想知道如何使用beautifulsoup 来为它的时间刮美国银行。例如,如果网址是 (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

该网址重定向,这就是为什么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'

这是分支定位器页面。您必须从该页面开始,以编程方式“搜索”您想要的位置,找到适当的链接,然后执行第三个请求。

该站点还使用 cookie,因此请查看cookielib

于 2013-01-18T21:35:51.467 回答