我们遇到以下情况: 我们需要访问只需要使用MSIE访问的站点。
出于这个原因,我们必须更改spynner User Agent,因为默认情况下这不是MSIE。
这是我的代码:
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我们看到了修改后的用户代理:
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))
从网站我们收到默认的用户代理:
Mozilla/5.0 (Windows NT 6.0; rv:43.0) Gecko/20100101 Firefox/43.0
答案 0 :(得分:0)
要覆盖您可以使用的navigator.userAgent
值
this gist。
测试它运行以下脚本:
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
是包含此要点的字符串。