作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我想知道如何使用 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
最佳答案
该 url 重定向,这就是 soup.find_all("div", class_="lobbyHours")
不返回任何内容的原因。在您要重定向到的页面上没有包含该类的 div
。
通过使用 Firefox 的 Firebug 监控网络流量,我发现你请求的 url 实际上返回了一个 301 Moved Permanently
状态码。幸运的是,即使是 301 状态代码,在响应 header 中也提供了一个 Location
header 。在这种情况下:
'http://locators.bankofamerica.com/locator/locator/LocatorAction.do?shouldTest=true'
这是分支定位器页面。您必须从该页面开始,以编程方式“搜索”您想要的位置,找到适当的链接,然后执行第三个请求。
该站点还使用 cookie,因此请查看 cookielib .
关于python - 我怎样才能抓取美国银行的营业时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14405246/
我是一名优秀的程序员,十分优秀!