首页 新闻 搜索 专区 学院

python3 execjs使用document显示未定义

0
悬赏园豆:10 [已关闭问题] 关闭于 2019-08-02 21:13

windows下做一个爬虫抓取代理ip,代码如下:
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0',
'Accept': '/',
'Connection': 'keep-alive',
'Accept-Language': 'zh-CN,zh;q=0.8'}
session = requests.session()
src = session.get("http://www.66ip.cn/", headers=headers).text
src = src.split("</script>")[0] + '}'
src = src.replace("<script>", "function test() {")
src = src.replace("while(z++)try{eval(", ';var num=10;while(z++)try{var tmp=')
src = src.replace(");break}", ";num--;if(tmp.search('cookie') != -1 | num<0){return tmp}}")
ctx = execjs.compile(src)
src = ctx.call("test")
src = src[src.find("document.cookie="): src.find("};if((")]
src = src.replace("document.cookie=", "")
src = src.replace("document", "document")
src = "function test() {var window={}; return %s }" % src
cookie = execjs.compile(src).call('test')
最后一行编译时报错,开始报错为TypeError:document未定义,然后我安装了一个NodeJs后显示错误变为ReferenceError: document is not defined,求指点

水墨的心的主页 水墨的心 | 菜鸟二级 | 园豆:361
提问于:2019-07-22 11:57
< >
分享
所有回答(1)
0

我也不清楚是什么情况,昨天还可以运行的爬虫,今晚就遇到这个问题了,而且爬取的网站居然和你是同一个网站,厉害了。缘分

飞鸟的梦想 | 园豆:202 (菜鸟二级) | 2019-08-15 20:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册