如何查询美国银行的营业时间?

kch*_*hoi 3 python screen-scraping beautifulsoup web-scraping

嗨,我想知道如何使用 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
Run Code Online (Sandbox Code Playgroud)

Tha*_*Guy 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'
Run Code Online (Sandbox Code Playgroud)

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

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