1、SSL
-SSL证书就是指遵守SSL安全套阶层协议的服务器数字证书(SercureSocketLayer)
-美国王景公司开发
-CA(CertifacateAuthority)是数字证书认证中心,是发放、管理、废除数字证书的收信人的第三方机构
-遇到不信任的SSL证书,需要单独处理
解决以下错误:
错误1:AttributeError: 'module' object has no attribute '_create_unverified_context',
错误2:URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)>
from urllib import request
#本来是要把不安全的证书改为SSL安全的,但是我用的360浏览器打开是安全的,
#假装当不安全实例改改,遇到不安全的可以用
#导入python ssl处理模块
import ssl
#利用非认证上下文环境替换认证的上下文环境,添加此句可忽略不安全证书信息
ssl._create_default_https_context = ssl._create_unverified_context()
url = "https://www.12306.cn/mormhweb"
rsp = request.urlopen(url)
html = rsp.read().decode()
print(html)
2、js加密
-有的反爬虫策略采用js对需要传输的数据进行加密处理(通常是取md5值)
-经过加密、传输的就是密文,但是
-加密函数或者过程一定是在浏览器完成,也就是会把代码(js代码)暴露给使用者
-通过阅读加密算法,就可以模拟出加密过程,从而达到破解
3、以破解有道词典加密算法为例:
(1)有道词典在线翻译页面:http://fanyi.youdao.com/?keyfrom=fanyi.logo
(2)例如查询girl,打开审查元素(一般F12键),查看network->all,找到对应页面,点击headers查看有关信息,动态刷新,编写文件如下:
'''
破解有道词典 v1
'''
from urllib import request,parse
def youdao(key):
dc = inpu