Python爬虫连载9-JS加密之“盐”?、ajax请求

一、JS加密之“盐”?


1.salt属性“盐":多用于密码学,比如我们的银行卡是六位密码,但是实际上在银行的系统里,我们输入密码后,会给原始的密码添加若干字符,形成更加难以破解的密码。这个过程我们称为”加盐“。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
"""

处理JS加密

"""

import time,random

?

def getSalt():

    """

    salt公式:"" + ((new Date).getTime() + parseInt(10 *Matn.rnandom(),10))

    :return:

    """

    salt = int(time.time()*1000) + random.randint(0,10)

?

    return salt

?

def getMD5():

    import hashlib

    md5zhi = hashlib.md5()

?

    md5zhi.update(v.encoding="uft-8")

    sign = md5zhi.hexdigest()

?

    return sign

if __name__ == "__main__":

    getSalt()

getMD5()



二、ajax请求


1.异步请求;


2.一定会有url,请求方法,可能有数据


3.一般使用json格式


4.?案例:爬取豆瓣电影



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"""

爬取豆瓣电影排行榜

"""

from urllib import request

import json

url = "https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85&type=11&interval_id=100:90&action="

rsp = request.urlopen(url)

data = rsp.read().decode()

?

data = json.loads(data)

print(data)



这里报错了,是因为豆瓣有反爬虫机制,我们修改代码,把Python伪装成一个浏览器进行访问


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
"""

爬取豆瓣电影排行榜

"""

from urllib import request

import json

url_u = "https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85&type=11&interval_id=100:90&action="

headers = {

    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"

}

url = request.Request(url_u,headers=headers)

rsp = request.urlopen(url)

data = rsp.read().decode()

?

print(data)



三、源码


Reptitle9_1_JSEncryption.py


Reptitle9_2_ajaxResponse.py


https://github.com/ruigege66/PythonReptile/blob/master/Reptitle8_1_JSEncryption.py


https://github.com/ruigege66/PythonReptile/blob/master/Reptitle9_2_ajaxResponse.py


2.CSDN:https://blog.csdn.net/weixin_44630050


3.博客园:https://www.cnblogs.com/ruigege0000/


4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料