python爬虫 : 汽车之家车型最新爬取解密方法
汽車之家作為一家上市公司,本身具有強(qiáng)大的技術(shù)實(shí)力支持,簡(jiǎn)單的數(shù)據(jù)易爬,復(fù)雜而機(jī)密的數(shù)據(jù),可見不可求。
如下圖所示:核心的數(shù)據(jù),在頁面是找不到文字的,全是空空空空!!!和尚一樣!
經(jīng)過測(cè)試發(fā)現(xiàn),這些數(shù)據(jù)都是CSS偽代碼裝載而成,每一個(gè)class代表一個(gè)字或單詞。如上圖,class="hs_kw17_configbF"就代表“一汽”。
知道原理后,基本就是解碼工作,怎么干最快?
html = driver.page_source #通過selenium把js驅(qū)動(dòng)的css代碼加載下來
obj = re.compile('span class="(hs_kw.*?)"></span>', re.S) # 提取CSS代碼
brands = obj.findall(html) #
# 對(duì)加密網(wǎng)頁破譯
brands = list(set(brands))
for classname_ in brands:
? ? ? ?txt = get_classname(classname_) #造一個(gè)解析函數(shù)來解碼CSS
? ? ? ?html = re.sub('<span class="' + classname_ + '"></span>', txt.replace('"', ''), html) #一次性全部替換成中文,這樣就能正則了。
python的核心思想就是少寫代碼,要是一個(gè)代碼寫很長(zhǎng)解決不了問題,那就是方向不對(duì),重新思考哦。
總結(jié)
以上是生活随笔為你收集整理的python爬虫 : 汽车之家车型最新爬取解密方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么在Linux上下载并安装ESET N
- 下一篇: vs2010 添加删除工具栏资源的上图标