Python某電影字體反爬

貓眼電影字體反爬

一、原理介紹

  • 將所有uni的x、y座標收集,並利用KNN算法預測uni對應的真實值。
  • 參考這篇文章:原理介紹

二、依賴包

  • 下載whl文件安裝:地址
  • 依賴包: fontTools、numpy、scipy、sklearn
pip install fontTools
pip install numpy‑1.17.4+mkl‑cp37‑cp37m‑win_amd64.whl
pip install scipy‑1.4.0rc1‑cp37‑cp37m‑win_amd64.whl
pip install sklearn_contrib_lightning‑0.5.0‑cp37‑cp37m‑win_amd64.whl

三、代碼

def process():
	"""
	:return:
	"""
	r = requests.get('https://maoyan.com/board/1', headers=self.headers)
	woff_path = re.search(r"vfile(.*?)woff", r.text).group()
	woff_url = f"https://{woff_path}"
	# 獲取加密字真實值
	uni_dict = self.get_uni_num(woff_url)
	text = r.text
	# 替換加密字爲真實值
	for key in uni_dict:
	    text = text.replace(key, uni_dict[key])
	# 解析字段
	self.parse_fields(text)
  • 輸出如下:
# {'film_name': '誤殺', 'realtime': '實時票房:7981.7萬', 'total_boxoffice': '總票房:2.25億', 'star': '主演:肖央,譚卓,陳沖', 'releasetime': '上映時間:2019-12-13'}
# {'film_name': '天·火', 'realtime': '實時票房:3569.5萬', 'total_boxoffice': '總票房:1.41億', 'star': '主演:王學圻,昆凌,竇驍', 'releasetime': '上映時間:2019-12-12'}
# {'film_name': '冰雪奇緣2', 'realtime': '實時票房:1649.3萬', 'total_boxoffice': '總票房:7.84億', 'star': '主演:克里斯汀·貝爾,伊迪娜·門澤爾,喬納森·格羅夫', 'releasetime': '上映時間:2019-11-22'}
# {'film_name': '勇敢者遊戲2:再戰巔峯', 'realtime': '實時票房:1395.1萬', 'total_boxoffice': '總票房:2.69億', 'star': '主演:道恩·強森,凱倫·吉蘭,傑克·布萊克', 'releasetime': '上映時間:2019-12-06'}
# {'film_name': '被光抓走的人', 'realtime': '實時票房:1176.2萬', 'total_boxoffice': '總票房:5894.0萬', 'star': '主演:黃渤,王珞丹,譚卓', 'releasetime': '上映時間:2019-12-13'}
# {'film_name': '我爲你犧牲', 'realtime': '實時票房:1012.7萬', 'total_boxoffice': '總票房:4696.0萬', 'star': '主演:李琦,國永振,陳姝', 'releasetime': '上映時間:2019-12-05'}
# {'film_name': '南方車站的聚會', 'realtime': '實時票房:514.8萬', 'total_boxoffice': '總票房:1.95億', 'star': '主演:胡歌,桂綸鎂,廖凡', 'releasetime': '上映時間:2019-12-06'}
# {'film_name': '早安公主', 'realtime': '實時票房:411.0萬', 'total_boxoffice': '總票房:1170.0萬', 'star': '主演:田雨,朱顏曼滋,邱雨鑠', 'releasetime': '上映時間:2019-12-13'}
# {'film_name': '唐頓莊園', 'realtime': '實時票房:403.3萬', 'total_boxoffice': '總票房:1171.0萬', 'star': '主演:休·博納維爾,勞拉·卡爾邁克爾,吉姆·卡特', 'releasetime': '上映時間:2019-12-13'}
# {'film_name': '利刃出鞘', 'realtime': '實時票房:369.6萬', 'total_boxoffice': '總票房:1.92億', 'star': '主演:丹尼爾·克雷格,克里斯·埃文斯,安娜·德·阿瑪斯', 'releasetime': '上映時間:2019-11-29'}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章