一、JS加密之“鹽”?
1.salt屬性“鹽":多用于密碼學,比如我們的銀行卡是六位密碼,但是實際上在銀行的系統里,我們輸入密碼后,會給原始的密碼添加若干字符,形成更加難以破解的密碼,這個程序我們稱為”加鹽“,
""" 處理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.?案例:爬取豆瓣電影
""" 爬取豆瓣電影排行榜 """ 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偽裝成一個瀏覽器進行訪問
""" 爬取豆瓣電影排行榜 """ 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.歡迎關注微信公眾號:傅里葉變換,個人公眾號,僅用于學習交流,后臺回復”禮包“,獲取大資料學習資料

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/190358.html
標籤:Python
