熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

@

⛳️ 黄页 字体反爬 实战场景

本次采集的目标站点为 https://huangye88.com ,首页截图如下所示。

熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

在官网找到【企业黄页】选项卡,然后得到如下界面,其中涉及的信息如下,随机找到一个企业公开数据。

[En]

Find the “Enterprise Yellow pages” tab on the official website, and then get the following interface, in which the information involved is as follows, and randomly find an enterprise to disclose data.

熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

在公司黄页详情页可以查看到联系人和联系号码。

熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

这里明显看到手机字体与其它字体有所差异,通过开发者工具进行验证之后,确定存在字体反爬。

[En]

It is obvious that the mobile font is different from other fonts. After verification by the developer tool, it is confirmed that there is a font anti-crawling.

熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

保存字体文件,得到下述字体矢量图。

熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

结果字体的编码是固定的英文,那这字体反爬的难度就变的极低了。

[En]

As a result, the coding of the font is fixed in English, so the difficulty of anti-crawling becomes extremely low.

⛳️ 实战编码

通过开发者工具可以找到字体文件在网页源码中,所以我们编写一下相关提取代码。

[En]

Through the developer tool, you can find the font file in the source code of the web page, so let’s write the relevant extraction code.

import re

import requests
import base64
from fontTools.ttLib import TTFont

url = 'https://b2b.huangye88.com/qiye1edkfp0964c7/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36'
}

res_text = requests.get(url=url, headers=headers).text
ba64 = re.findall('base64,(.*?)\"\)', res_text)[0]
# print(ba64)

data = base64.b64decode(ba64)
with open('./fonts/519.woff', 'wb') as f:
    f.write(data)
font = TTFont('./fonts/519.woff')
font.saveXML('./fonts/519.xml')

得到字体之后,保存的 XML 文档如下所示。

熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

本案例已经结束。

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 677 篇原创博客

从订购之日起,案例 5 年内保证更新

Original: https://www.cnblogs.com/happymeng/p/16377436.html
Author: 梦想橡皮擦
Title: 熟人必看,Python爬取黄页88企业公开信息,字体反爬实战

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/116674/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部