目标网站:Scrape | Movie
被修改的字体:下图中的评分是样式设置出的字体。当选中评分时可以看到里面没有内容
::before : 在css中,该字段通常创建一个伪节点,作用是往其他节点中插入内容,同时在css中使用content字段来定义内容。可以根据右边的样式来查看源文件,下图中可以看出
.icon-789:before {
content: "9";
}
由此可知,icon-789对应的就是数字9
并且点击右边的app.654ba59e.css 就可以直接跳转到对应的css文件。
将鼠标悬停在左边的文件名上可以查看该css文件的文件路径,也是下载链接:https://antispider4.scrape.center/css/app.654ba59e.css
当然,我们也可以直接通过自带的抓包工具来获取该文件,如下
下载打开后,可以看出,这就是字体文件,其中存放着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与文本内容映射的字典。