文章插图
新建一个demo.html,键入:

文章插图
html中会引入css文件,css又会引入svg文件 。通过d标签的class属性值读取css对应的svg标签,完成对svg的映射 。然后把demo.html拖到浏览器,可以看到:

文章插图
字符h完完整整的被我们成功的映射出来了 。
搞懂了这些,反爬就不是难事了,我们要做的是让程序搞定这些 。
四、Python抓取数据:回到刚才的目标网站,开始实战抓取 。
1.获取css样式文件与svg文件内容:

文章插图
2.获取匹配出class属性值对应css参数,与字符大小:

文章插图
测试寻找class=lhtqsc的css对应参数和字符大小,输出如下:

文章插图
打开对应css与svg文件验证:

文章插图

文章插图
一致,成功!
3.观察svg文件:

文章插图
这里有四个text标签,对应四个文本,每个文本X轴都是从0开始,并且以14递增Y轴不相同的,分别是 38,83,120,164文本顺序也有所不同 。现在我们get这些数据:

文章插图
输出:

文章插图
到这一步,我们成功的分别取出了y的和text标签的四个值,并组成了列表 。但是,这些元素 几乎没有和 [‘38’, ‘83’, ‘120’, ‘164’] 中有相等的,

文章插图
这对于我们寻找text标签包含的文本值并不影响,我们找到最近接近的即可 。我们仍然以 class=lhtqsc为例子,寻找它最近的y值,从而找出是哪个text标签包含的值 。完善我们的代码:

文章插图
输出:

文章插图
然后就可以利用切片的特性寻找到对应的数值啦!

文章插图
输出 7,有图为证:

文章插图
验证:我们打开网站,看看对应的是不是数字7

文章插图
到这里,就算成功了,是不是很简单呢?跟我一起做一遍吧 。
推荐阅读
- CPU该选Intel还是AMD?5分钟给你讲明白
- 如何正确区分过敏性鼻炎和感冒?一图看懂
- 一文看懂开源许可证,能不能商用再也不抓瞎
- 还是只知道带T?汽车尾部的英文标识,你都看懂了吗?
- 生科医学|核酸检测时不建议把口罩往上推 中疾控发布居家隔离人员防控要求:一图看懂
- 9张图教你看懂“体检报告”!
- 零基础也能看懂!数据仓库与数据库的这几个问题,你能回答出来吗
- 舞蹈生私藏改善形体的秘诀曝光,5分钟就能学会
- 如何看懂护肤品的成分?
- iQOO|骁龙8跑分轻松破百万!一图看懂iQOO Neo6:2799元起
