也許網頁正在檢查有效的請求標頭?
你真的應該使用pycurl來處理這類工作。
#!/usr/bin/env python
import pycurl
import cStringIO
buf = cStringIO.StringIO()
pycurl_headers = ['Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Language:en-US,en;q=0.8,bg;q=0.6',
'User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 \
(KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31']
c = pycurl.Curl()
c.setopt(c.URL, 'http://google.com')
c.setopt(c.WRITEFUNCTION, buf.write)
c.setopt(c.AUTOREFERER, 1)
c.setopt(c.FOLLOWLOCATION , True)
c.setopt(c.CONNECTTIMEOUT, 5)
c.setopt(c.TIMEOUT, 5)
c.setopt(c.HTTPHEADER, pycurl_headers)
c.perform()
print buf.getvalue()
buf.close()
已經嘗試過,...複製了我的谷歌瀏覽器會話的確切頭數據(而這是請求我試圖解析網頁),並在我的urllib2請求使用它我...我甚至在頭文件中發送會話cookie ......我不知道我可能會泄漏哪些數據,這是告訴服務器我不是瀏覽器? – user2339421 2013-05-01 14:44:19
請嘗試我的代碼,然後重新寫入。我的代碼發送引用並捕獲重定向。 – nacholibre 2013-05-01 14:53:16