汽车之家作为一家上市公司,本身具有强大的技术实力支持,简单的数据易爬,复杂而机密的数据,可见不可求。
如下图所示:核心的数据,在页面是找不到文字的,全是空空空空!!!和尚一样!
经过测试发现,这些数据都是CSS伪代码装载而成,每一个class代表一个字或单词。如上图,class="hs_kw17_configbF"就代表“一汽”。
知道原理后,基本就是解码工作,怎么干最快?
html = driver.page_source #通过selenium把js驱动的css代码加载下来
obj = re.compile('span class="(hs_kw.*?)">', re.S) # 提取CSS代码
brands = obj.findall(html) #
# 对加密网页破译
brands = list(set(brands))
for classname_ in brands:
txt = get_classname(classname_) #造一个解析函数来解码CSS
html = re.sub('', txt.replace('"', ''), html) #一次性全部替换成中文,这样就能正则了。
python的核心思想就是少写代码,要是一个代码写很长解决不了问题,那就是方向不对,重新思考哦。