首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改spynner用户代理不起作用

更改spynner用户代理不起作用
EN

Stack Overflow用户
提问于 2016-03-25 22:07:44
回答 1查看 117关注 0票数 1

我们遇到了以下情况:我们需要访问一个只需要使用MSIE访问的站点。

因此,我们必须更改spynner用户代理,因为缺省情况下这不是MSIE。

下面是我的代码:

代码语言:javascript
复制
import re
import spynner
from pyquery import PyQuery
import time
import sys
tipo_navegador = "Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))"

br = spynner.Browser(
            ignore_ssl_errors=True,
            user_agent=tipo_navegador,
            debug_level=spynner.WARNING,
            debug_stream=sys.stderr)
br.create_webview()
br.show()
br.set_html_parser(PyQuery)
br.load("https://myurl.com/index.php")
br.browse()
br.close()

调试Spynner时,我们看到修改后的用户代理:

代码语言:javascript
复制
Page load started
Request: GET https://myurl.com/index.php
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  User-Agent: Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))

从网站我们收到默认的用户代理:

代码语言:javascript
复制
Mozilla/5.0 (Windows NT 6.0; rv:43.0) Gecko/20100101 Firefox/43.0
EN

回答 1

Stack Overflow用户

发布于 2016-11-04 04:32:23

要覆盖navigator.userAgent值,可以使用this gist。运行以下脚本对其进行测试:

代码语言:javascript
复制
browser = spynner.Browser(user_agent='myFakeUserAgent',
                          headers=headers_list)

browser.runjs(change_user_agent_script + 'document.write((navigator.userAgent))')
browser.browse()

其中change_user_agent_script是包含此要点的字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36221519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档