在爬取网站时,部分网站是设置了字体反爬的,即我们肉眼看到的数据(譬如:1234)和网页源码上显示的数据(譬如:鑶鸺龤)并不一致。
这个,其实是因为网页采用了 CSS3 的 @font-face 模块自定义字体文件导致的。
@font-face 是 CSS3 中的一个模块,作用是把自定义的 Web 字体嵌入到网页中。
@font-face 语法规则:
@font-face {
font-family: <YourWebFontName>;
src: <source> [<format>][,<source> [<format>]]*;
[font-weight: <weight>];
[font-style: <style>];
}
值说明:
YourWebFontName: 自定义的字体名称
source: 自定义的字体的存放路径,可以是相对路径也可以是绝路径
format:自定义的字体的格式,包含 truetype,opentype,truetype-aat,embedded-opentype,svg等
font-weight:定义字体是否为粗体
font-style:定义字体样式,如斜体
下面,本文以 58同城 作为例子讲解。
步骤
- 用浏览器打开 https://cd.58.com/chuzu/ ,随机点击一个房源,在其详情页查看价格处网页元素