【发布时间】:2016-11-05 04:26:14
【问题描述】:
我正在尝试使用 Python 2.7 从 URL 获取用 Javascript 编写的脚本。我尝试过使用 urllib、urllib2 和请求。它们都返回一个空字符串。 url 不包含 HTML 元素,它只是 javascript 代码。
这是链接:http://go.pub2srv.com/apu.php?zoneid=676495
以及我尝试过的:
import requests
r = requests.get('http://go.pub2srv.com/apu.php?zoneid=676495')
print r.text
返回 u' ',与 urllib 和 urllib2 相同。
有什么想法吗?
更新:好的,我让它工作了。看起来该网站正在过滤用户代理。 这个线程帮助了我。 Python request.get(url) returns empty content
import requests
url = 'http://go.pub2srv.com/apu.php?zoneid=676495'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36'
headers = {'User-Agent': user_agent}
r = requests.get(url, headers=headers)
谢谢大家。
【问题讨论】:
-
当我运行你的代码时我没有得到一个空字符串我得到了类似
(function(options, lary) {.... -
这是应该的,但我仍然得到空字符串。响应为 200 OK。您是否有机会使用 python 3?
-
在使用 urllib2 或 Python 2.6 和 Python 3.6 中的请求时,我也一无所获。但我可以使用 wget 获取 JavaScript。我猜可能是 cookie 问题(标头设置了 3 个 cookie),但请求通常可以处理 cookie。
-
@aleksiy123 这似乎很有趣,也有点奇怪,即使我在 linux 上使用 python2.7.6。顺便说一句,我通过控制台尝试了它,虽然它不重要
标签: javascript python string url