我正在學習製作網頁抓取工具,並希望抓取TripAdvisor的個人項目,並使用urllib2抓取html。 但是,我遇到了一個問題,使用下面的代碼,我得到的html不正確,因爲頁面似乎需要一秒鐘重定向(您可以通過訪問url來驗證) - 取而代之的是,代碼來自最初短暫出現的頁面。python urllib2 - 等待頁面在抓取前完成加載/重定向?
是否有一些行爲或參數要設置,以確保頁面在獲取網站內容之前完全加載/重定向?
import urllib2
from bs4 import BeautifulSoup
bostonPage = urllib2.urlopen("http://www.tripadvisor.com/HACSearch?geo=34438#02,1342106684473,rad:S0,sponsors:ABEST_WESTERN,style:Szff_6")
soup = BeautifulSoup(bostonPage)
print soup.prettify()
編輯:答案是徹底的,但是,在什麼解決我的問題是這樣的結尾: https://stackoverflow.com/a/3210737/1157283
犯規的urllib引發錯誤?有這種情況下的redirectdirector ... – 2012-07-12 20:50:54
@DonQuestion沒有錯誤,我只是從被重定向之前短暫出現的頁面獲取html。我想從最後出現的頁面獲得html。這個redirectdirector是什麼,你可以詳細說明一下嗎? – Ken 2012-07-12 20:55:26
如果你使用urlopen,你正在使用OpenerDirector.open()看看python-docs - 不幸的是它沒有在2-3個字中解釋:-(:http://docs.python.org/library/urllib2.html? highlight = urllib2#urllib2.OpenerDirector – 2012-07-12 21:08:53