京公网安备 11010802034615号
经营许可证编号:京B2-20210330
公众号:早起Python
作者:刘早起
大家好,我是早起。
在前几天的文章中,我针某点评商家搜索页面的字体反爬给出了解决方案,但是还有一个问题,那就是当时给出的方法是下载对应的woff字体文件,然后建立加密字体与编码之间的映射关系来进行破解。
但是有一个问题就是不同页面的字体文件,是动态加载的,换句话说就是你在这个页面建立的映射关系,换一个页面就不能用了。
那就没有解决办法了吗?其实也不难,或者说对方还是给了很清晰的思考方向,因为,虽然每一个页面的字体是动态加载的,但是这个动态仅针对字体解析后编码的变化,字体内部顺序是没有变化的
每两个页面中,仅仅是字体编码发生了改变,而字体的位置顺讯并没有改变,所以我们只需要在解析每一页的数据之前,先提取页面中CSS样式,再从CSS内容中定位到字体文件存储链接,之后就是请求这一页对应的字体文件并解析构造匹配字典,后面的步骤就和上一篇文章一样了。
那我们开始,目标是爬取某城市指定美食的全部商家信息,比如定位广州搜索沙县小吃,之后爬取全部的搜索页面。
首先就是构造全部的URL,由于每一页的URL是有一定规律的,所以这一步很简单,从第一页中提取全部页数然后按照规律添加到url_list中即可,而这个数据没有被加密
所以这部分代码可以这样写
这部分代码不难理解构造请求——解析页面——提取页数——模拟URL,其中get_ip()必须要返回一个可以使用的ip,不论你是用免费的还是付费的代理,在这里不做详细讲解。
搞定URL之后,我们来到最关键的步骤,写一个函数,传进来一个页面返回该页的文字匹配字典,那么第一步就是把字体拿下来,下面四行代码即可搞定
简单来看一下这段代码,我们传入一个请求后得到的page后
“
第一行代码使用正则表达式提取字体所在的css链接
第二行代码使用requests请求css内容
最后两行代码使用正则提取woff字体文件所在URL
”
如果你传进去的页面是正常的,那么现在我们就有地址、均价字段的字体所在URL,下面就可以使用requests将这两个字体文件下载并保存在本地,代码如下
现在工作目录下就有两个字体文件,之后就按照上一篇文章介绍的字体加密破解方法操作即可。所以这部分完整代码如下:
你需要确保这里的page是正确包含内容的,如果是被403之后的页面或者是提示要输入验证码之类的页面是无法正确执行的。
那么到这里,我们就搞定了在每一页的字体文件都是动态加载的情况下如何爬取全部搜索页面的信息,之后只需要写一个循环爬去url_list中的全部URL,并使用pandas进行保存即可。
本文的分享就到这里,完整的代码我就不提供了,因为某点评网站的限制,大概率拿走也是不能用的,但是最关键的函数已经完整的发在文中了,复制粘贴就能使用。
如果你尝试去爬取过大众点评,会发现最难的不再是字体加密,而是捉摸不透的反爬机制,尤其是headers中参数的构造,cookie的破解,公众号没有留言,你可以添加早小起微信和我交流,我会在后续继续更新相关文章!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
机器学习的本质,是让模型通过对数据的学习,自主挖掘规律、实现预测与决策,而这一过程的核心驱动力,并非单一参数的独立作用, ...
2026-03-27在SQL Server数据库操作中,日期时间处理是高频核心需求——无论是报表统计中的日期格式化、数据筛选时的日期类型匹配,还是业务 ...
2026-03-27在CDA(Certified Data Analyst)数据分析师的能力体系与职场实操中,高维数据处理是高频且核心的痛点——随着业务场景的复杂化 ...
2026-03-27在机器学习建模与数据分析实战中,特征维度爆炸、冗余信息干扰、模型泛化能力差是高频痛点。面对用户画像、企业经营、医疗检测、 ...
2026-03-26在这个数据无处不在的时代,数据分析能力已不再是数据从业者的专属技能,而是成为了职场人、管理者、创业者乃至个人发展的核心竞 ...
2026-03-26在CDA(Certified Data Analyst)数据分析师的能力体系中,线性回归是连接描述性统计与预测性分析的关键桥梁,也是CDA二级认证的 ...
2026-03-26在数据分析、市场研究、用户画像构建、学术研究等场景中,我们常常会遇到多维度、多指标的数据难题:比如调研用户消费行为时,收 ...
2026-03-25在流量红利见顶、获客成本持续攀升的当下,营销正从“广撒网”的经验主义,转向“精耕细作”的数据驱动主义。数据不再是营销的辅 ...
2026-03-25在CDA(Certified Data Analyst)数据分析师的全流程工作中,无论是前期的数据探索、影响因素排查,还是中期的特征筛选、模型搭 ...
2026-03-25在当下数据驱动决策的职场环境中,A/B测试早已成为互联网产品、运营、营销乃至产品迭代优化的核心手段,小到一个按钮的颜色、文 ...
2026-03-24在统计学数据分析中,尤其是分类数据的分析场景里,卡方检验和显著性检验是两个高频出现的概念,很多初学者甚至有一定统计基础的 ...
2026-03-24在CDA(Certified Data Analyst)数据分析师的日常业务分析与统计建模工作中,多组数据差异对比是高频且核心的分析场景。比如验 ...
2026-03-24日常用Excel做数据管理、台账维护、报表整理时,添加备注列是高频操作——用来标注异常、说明业务背景、记录处理进度、补充关键 ...
2026-03-23作为业内主流的自助式数据可视化工具,Tableau凭借拖拽式操作、强大的数据联动能力、灵活的仪表板搭建,成为数据分析师、业务人 ...
2026-03-23在CDA(Certified Data Analyst)数据分析师的日常工作与认证考核中,分类变量的关联分析是高频核心场景。用户性别是否影响商品 ...
2026-03-23在数据工作的全流程中,数据清洗是最基础、最耗时,同时也是最关键的核心环节,无论后续是做常规数据分析、可视化报表,还是开展 ...
2026-03-20在大数据与数据驱动决策的当下,“数据分析”与“数据挖掘”是高频出现的两个核心概念,也是很多职场人、入门学习者容易混淆的术 ...
2026-03-20在CDA(Certified Data Analyst)数据分析师的全流程工作闭环中,统计制图是连接严谨统计分析与高效业务沟通的关键纽带,更是CDA ...
2026-03-20在MySQL数据库优化中,分区表是处理海量数据的核心手段——通过将大表按分区键(如时间、地域、ID范围)分割为多个独立的小分区 ...
2026-03-19在商业智能与数据可视化领域,同比、环比增长率是分析数据变化趋势的核心指标——同比(YoY)聚焦“长期趋势”,通过当前周期与 ...
2026-03-19