python – urllib2加载移动网站的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – urllib2加载移动网站的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2267字,纯文字阅读大概需要4分钟。
内容图文
![python – urllib2加载移动网站的问题](/upload/InfoBanner/zyjiaocheng/783/f10e996af0214c06a0a9a34ab164aeaf.jpg)
我正在尝试从http://m.finnkino.fi/events/now_showing获取一些数据,但此刻我失败了,因为我甚至无法使用python加载页面源.
目前我正在使用以下代码:
req = urllib2.urlopen(URL,None,2.5)
page = req.read()
print page
以下是超时错误的回溯:
Traceback (most recent call last):
File "user/src/finnkinoParser.py", line 26, in <module>
main()
File "user/src/finnkinoParser.py", line 13, in main
getNowPlayingMovies()
File "user/src/finnkinoParser.py", line 17, in getNowPlayingMovies
req = urllib2.urlopen(baseURL,None,2.5)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 124, in urlopen
return _opener.open(url, data, timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 383, in open
response = self._open(req, data)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 401, in _open
'_open', req)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 361, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 1130, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 1105, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error timed out>
如果我用我的浏览器浏览到网址,它可以正常工作.所以有人可以告诉我是什么让该网站有很大不同,因此urllib2无法加载页面.我认为这与针对移动用户的网站有关.使用“常规”网站urllib2工作正常.是否有其他类型的网站基本urlopen(URL)不起作用?
感谢帮助
解决方法:
以下代码段工作正常.
import httplib
headers = {"User-Agent": "Mozilla/5.0"}
conn = httplib.HTTPConnection("m.finnkino.fi")
conn.request("GET", "/events/now_showing", "", headers)
response = conn.getresponse()
print response.status, response.reason
data = response.read()
print data
conn.close()
看起来他们的服务器已经验证了几个请求变量.经过一段时间的测试,结论如下:
> http协议必须是HTTP / 1.1.
>如果请求标头具有Connection prop,则其值应为keep-alive.
>请求标头必须具有User-Agent prop,无论其值如何.
在urllib2中,HTTPHandler中的Connection prop默认设置为Close(urllib2.py中为L1127).您可以使用urlgrabber或其他支持HTTP / 1.1和keep-alive的HTTP处理程序.
内容总结
以上是互联网集市为您收集整理的python – urllib2加载移动网站的问题全部内容,希望文章能够帮你解决python – urllib2加载移动网站的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。