错误告诉我我需要JavaScript

时间:2016-04-08 10:41:58

标签: javascript python

我正在尝试从Python 3中使用urllib的网站获取源代码。当我运行脚本时,我被告知我需要在浏览器中启用JavaScript。但是,我很确定它已启用。这是我的脚本和错误:

错误:

  

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5   “/ Applications / PyCharm CE.app/Contents/helpers/pydev/pydevd.py”   --multiproc --qt-support --client 127.0.0.1 --port 57883 --file /Users/titusflex/PycharmProjects/HelloPython/testtest.py警告:   没有找到使用cython的调试器加速。跑   “ “/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5”   “/ Applications / PyCharm CE.app/Contents/helpers/pydev/setup_cython.py”   build_ext --inplace'来构建。 pydev调试器:进程3089是   连接

     

连接到pydev调试器(build 145.598)   b“http://www.google.com/adwords/select/interstitial_short_js.html'>var jsRedirect = true; var   url =   '\ / UM \ /身份AUTHUSER \ x3d0 \ x26dst \ X3D \ /厘米\ / CampaignMgmt?';如果   (self.document.location.hash){var querySeparator =(url.indexOf('?')   == -1)? '?' :'&'; url + = querySeparator +'frag ='+ encodeURIComponent(self.document.location.hash.substring(1));} window.location.assign(url);“

     

处理完成,退出代码为0

1 个答案:

答案 0 :(得分:1)

您实际上是从网站获得响应,但网站的服务器在收到来自客户端的请求时有自己的响应方式,它认为它没有javascript支持。

因此,您需要寻找欺骗您对网站的抓取调用的方法,以使其看起来像您可以处理Javascript。

您可以尝试伪造用户代理请求标头,但我非常怀疑这会起作用。像Selenium这样的东西会更好。

修改