SSL
- SSL就是指遵守SSL安全套阶层协议的服务器数字证书(SercureSocketLayer)
- 美国网警公司
- CA(CertificateAuthority)是数字证书认证中心,是发放、管理、废除数字证书的收信人的第三方机构
- 遇到不信任的SSL证书,需要单独处理
from urllib import request
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)
js加密
- 有的反爬虫策略采用js对需要传输的数据进行加密处理(通常取md5值)
- 经过加密,传输的值就是密文
- 加密函数或者过程一定是在浏览器完成,也就是一定会把代码(js代码)暴露给使用者
- 通过阅读加密算法,就可以模拟出加密过程,从而达到破解
'''
破解有道词典
'''
from urllib import request, parse
def youdao(key):
url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"
data = {
"i": "boy",
"from":"AUTO",
"to": "AUTO",
"smartresult": "dict",
"client": "fanyideskweb",
"salt": "1523100789519",
"sign": "b8a55a436686cd89873fa46514ccedbe",
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web"