2021年挖掘猫眼专业版电影票房数据 您所在的位置:网站首页 猫眼票房排片实时数据 2021年挖掘猫眼专业版电影票房数据

2021年挖掘猫眼专业版电影票房数据

2024-06-28 11:17| 来源: 网络整理| 查看: 265

概述

自己看着玩玩,如有侵权,请联系我,立刻删除 在这里插入图片描述

爬取关键点 1.猫眼票房字体动态加密,需要破解 2.截止今日20210101-20211214,有350天左右,需要ip代理池,Proxypool,代理池搭建链接如下: 通过github搭建代理池 3.需要构造浏览器头段,user-agent 随机生成浏览器 4.猫眼专业版,中间有几天浏览器页面看不到,采用后面额外处理的方法 5.主要采用selenium+pyquer+request+无头Edge的方法

提前告知 缺点:爬取350页需要2小时,主要是留给浏览器加载JS的时间,每页留了10s

破解动态字体加密 font.py

关键点,需要对woff文件由一定的了解 猫眼加密文件为文件,解密如下:

使用requests,下载woff文件, 采用fontTools,获取字体编码 采用matplotlib,绘制编码出来的坐标图 采用ddddocr(一种轻便OCR),识别图像数据 最终:编码与数字对应起来,得到编码映射字典 #font.py from fontTools.ttLib import TTFont import matplotlib.pyplot as plt import numpy as np import ddddocr from os import remove def get_fontdict(woff_path, woffname): #打开woff文件,获取编码列表,字体坐标列表 base_font = TTFont(r'{}\{}'.format(woff_path, woffname)) #获取字体编码 #['uniEA9E', 'uniE528', 'uniE4A0', 'uniF0D8', 'uniF19A', 'uniEC3C', 'uniF7BE', 'uniF702', 'uniEE91', 'uniEC82'] font_name = base_font.getGlyphOrder()[2:] #获取每个字体编码对应的坐标 zb = [base_font['glyf'][i].coordinates for i in font_name] #OCR ocr = ddddocr.DdddOcr() #识别出的数字列表 font_id = [] #将每个坐标绘制,绘制两个出来,并使用ocr进行识别数字 fig, ax = plt.subplots() for index, one in enumerate(zb): x, y = [i[0] for i in one], [i[1] for i in one] #plt.scatte(x, y, c='r') plt.plot(x, y) x_n = [i + np.max(x) + 100 for i in x] #plt.scatter(x_n, y, c='r') plt.plot(x_n, y) plt.fill(x, y, 'black&


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有