字体反爬之设置样式来替代字体

目标网站:Scrape | Movie

被修改的字体:下图中的评分是样式设置出的字体。当选中评分时可以看到里面没有内容

 ::before  : 在css中,该字段通常创建一个伪节点,作用是往其他节点中插入内容,同时在css中使用content字段来定义内容。可以根据右边的样式来查看源文件,下图中可以看出

.icon-789:before {
    content: "9";
}

由此可知,icon-789对应的就是数字9

并且点击右边的app.654ba59e.css  就可以直接跳转到对应的css文件。 

字体反爬之设置样式来替代字体_第1张图片

 将鼠标悬停在左边的文件名上可以查看该css文件的文件路径,也是下载链接:https://antispider4.scrape.center/css/app.654ba59e.css

当然,我们也可以直接通过自带的抓包工具来获取该文件,如下 

字体反爬之设置样式来替代字体_第2张图片

下载打开后,可以看出,这就是字体文件,其中存放着css的class名与具体文字的映射。我们可以更具正则来重定义该映射,以便我们使用。

import re
import requests
url = 'https://antispider4.scrape.center/css/app.654ba59e.css'
resp = requests.get(url,verify=False)
result_txt = resp.text
pattern = re.compile(r'icon-(.*?):before{content:"(.*?)"}',re.S)
result = re.findall(pattern,result_txt)
map_dic = {i[0]:i[1] for i in result}

map_dic 就是存储样式class与文本内容映射的字典。

 

你可能感兴趣的:(css,html,爬虫)