2013-01-18 28 views
2

嗨,我想知道如何使用美麗的小丑來刮擦美國銀行的時間。 例如,如果URL是 (Shattuck_Ave_94704_BERKELEY_CA/bank_branch_locations /「> http://locators.bankofamerica.com/locator/locator/2129_ 沙特克 _Ave_94704_BERKELEY_CA/bank_branch_locations /) 我怎樣才能提取小時僅? 下面是我在它最初的嘗試,但它似乎什麼都不返回。如何才能刮開美國銀行營業時間?

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

不,但我會想象,無論他們在哪裏,所有分支都有相同的開放時間。在英國,這是事實,除了一些分支機構週六休息。這是相當靜態的。 –

回答

4

該URL重定向,這就是爲什麼soup.find_all("div", class_="lobbyHours")回報什麼。沒有div與你重定向到頁面上的類。

通過監測網使用Firefox的Firebug工作流量,我發現您請求的網址實際上會返回301 Moved Permanently狀態碼。幸運的是,即使是301狀態碼,響應頭中也會提供一個Location頭。在這種情況下:

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

這是分支定位器頁面。您必須從此頁面開始,以編程方式「搜索」您想要的位置,找到相應的鏈接並執行第三個請求。

該網站也使用cookies,因此詳細瞭解cookielib

+0

或使用機械化來管理cookie並處理重定向。 – pguardiario