2016-03-25 7 views
1

Wir haben die folgende Situation: Wir müssen auf eine Website zugreifen, auf die nur mit MSIE zugegriffen werden muss.Ändern von spynner Benutzer-Agent funktioniert nicht

Aus diesem Grund müssen wir den spynner User Agent ändern, da dies standardmäßig nicht MSIE ist.

Hier ist mein Code:

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() 

Debuggen Spynner sahen wir die modifizierte User Agent:

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)) 

Von Website erhalten wir den Agenten Standard Benutzer:

Mozilla/5.0 (Windows NT 6.0; rv:43.0) Gecko/20100101 Firefox/43.0 

Antwort

0

zu überschreiben navigator.userAgent Wert, den Sie verwenden können this gist. Testen Sie das folgende Skript ausgeführt wird:

browser = spynner.Browser(user_agent='myFakeUserAgent', 
          headers=headers_list) 

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

Wo change_user_agent_script ist eine Zeichenfolge diesen Kern enthält.