请教各位,python编写爬虫,返回http error 521怎么解决

JavaScript08

请教各位,python编写爬虫,返回http error 521怎么解决,第1张

原博主用的是PyV8执行JS代码,我换了PyExecJS

import execjs

import re

import requests

url = ""

HERDERS = {

"Host": "",

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',

}

def executejs(html):

# 提取其中的JS加密函数

js_string = ''.join(re.findall(r'(function .*?)</script>',html))

# 提取其中执行JS函数的参数

js_func_arg = re.findall(r'setTimeout\(\"\D+\((\d+)\)\"', html)[0]

js_func_name = re.findall(r'function (\w+)',js_string)[0]

# 修改JS函数,使其返回Cookie内容

js_string = js_string.replace('eval("qo=evalqo(po)")', 'return po')

func = execjs.compile(js_string)

return func.call(js_func_name,js_func_arg)

def parse_cookie(string):

string = string.replace("document.cookie='", "")

clearance = string.split('')[0]

return {clearance.split('=')[0]: clearance.split('=')[1]}

# 第一次访问获取动态加密的JS

first_html = requests.get(url=url,headers=HERDERS).content.decode('utf-8')

# 执行JS获取Cookie

cookie_str = executejs(first_html)

# 将Cookie转换为字典格式

cookie = parse_cookie(cookie_str)

print('cookies = ',cookie)

# 带上cookies参数,再次请求

response = requests.get(url=url,headers=HERDERS,cookies=cookie)

print(response.status_code)

【问题描述】:如下图所示我们看到的,提示网站还原错误,<br />【原因分析】:这往往是浏览器加载项造成的<br />【简易步骤】:【IE】—【工具】—【管理加载项】,逐个关闭加载项排查。<br />【解决方案】:1. 点击【开始】—【所有程序】—【附件】—【系统工具】—【internet explorer(无加载项)】,这样你就可以打开ie了,你也可以右键单价IE的图标,在右键菜单中,选择无加载项启动。但是并不是所有的电脑都有这个选项。(如图1)图1<br />2. 在打开的IE中,我们可以看到一个这样的页面,在标签栏下面有一个提示消息:当前正在禁用加载项……,右键点击这个提示消息,选择管理加载项,有的浏览器没有提示这个消息,我们用下面的方法打开加载项管理(如图2)图2<br />3. 如果你的浏览器没有菜单栏,可以先调出菜单栏,如图所示在空白的位置右键单击,然后选择【菜单栏】(如图3)图3<br /><br />4. 打开菜单栏后,在工具菜单下,点击【管理加载项】,这样也可以打开管理加载项。(如图4)图4<br /><br />5. 在管理加载项面板中,你可以在这里看到很多加载项,先按下ctrl+a,选中所有的加载项,然后右键单击选择【全部禁用】(如图5)图5<br /><br />6. 禁用了加载项以后,我们正常启动IE,不要以上面提到的【无加载项】的方式启动浏览器。只要双击打开浏览器就可以了。同样的方法:在菜单栏上执行,工具--管理加载项,打开加载项管理器,然后右键单击第一个加载项,选择【开启】,这样就启用了这个加载项。其中了第一个加载项以后,我们就关闭浏览器,重启浏览器看是否出现【网络还原错误】(如图6)图6<br /><br />7. 如果仍然没有提示错误,我们接着启用第二个加载项,重启启动浏览器,看看是否出现【网络还原错误】。以此类推,我们逐一启动加载项,直到找到那个出现问题的加载项,比如下面我启动了百度工具的加载项以后,ie重启发生了网络还原错误,先关闭ie。(如图7)图7<br /><br />8. 和上面提到的方法一样,点击【开始】—【程序】—【附件】—【系统工具】—【IE】(如图8)图8<br /><br />9. 打开IE以后,菜单栏上执行执行:工具--管理加载项。找到产生错误的加载项,右键单击,然后选择【禁用】,启用其他的加载项。这样问题就最终解决了。(如图9)图9

算不出来,无穷大!!!! 可以这样:521jhgjkklakhgskjjsjhuy就经过一系列程序算出个答案,再反算回去!可以用你女朋友的生日和521怎么怎么的,还有告诉意见惊奇的是给你:这个连科学家也无法解释用846除以3、384出来的结果都是这个人的名字,非常非常惊奇啊!!!