也许网页正在检查有效的请求标头?
你真的应该使用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