kok体育官方平台-官网 0756-460293718

python3 爬取汽车之家所有车型操作步骤(附源码)

作者:kok体育平台 时间:2021-11-28 01:17
本文摘要:题记:互联网上关于使用python3去爬取的汽车数据(主要是汽车基本参数,设置参数,颜色参数,内饰参数)的教程已经很是多了,但大要的方案分两种:1.剖析出某个车型的网页,然后正则表达式匹配出混淆后的数据工具与混淆后的js,并对混淆后的js使用pyv8举行剖析返回正常字符,然后通过字符与数据工具举行匹配,详细方法见这位园友,传送门:https://www.cnblogs.com/my8100/p/js_qichezhijia.html (谢谢这位大神前半部门的思路) 2.剖析

kok体育

题记:互联网上关于使用python3去爬取的汽车数据(主要是汽车基本参数,设置参数,颜色参数,内饰参数)的教程已经很是多了,但大要的方案分两种:1.剖析出某个车型的网页,然后正则表达式匹配出混淆后的数据工具与混淆后的js,并对混淆后的js使用pyv8举行剖析返回正常字符,然后通过字符与数据工具举行匹配,详细方法见这位园友,传送门:https://www.cnblogs.com/my8100/p/js_qichezhijia.html (谢谢这位大神前半部门的思路) 2.剖析出某个车型的网页,然后正则表达式匹配出混淆后的数据工具与混淆后的js,针对混淆后的js举行举行手动匹配,因为混淆的js或许分为8大类(无参数 返回常量,无参数 返回函数,参数即是返回值函数,无参数 返回常量,无参数 返回常量中间无混淆代码,字符串拼接时使无参常量,字符串拼接时使用返回参数的函数),然后通过正则表达式举行剖析出8类内容并举行逐个替换,最终也会返回一个带有顺序的字符串,将这个字符串与前边的数据工具再次替换,最终数据工具中的所有span都市被替换成中文,详细操作见园友的地址,传送门:https://www.cnblogs.com/dyfblog/p/6753251.html (谢谢这位大神前半部门的思路)不外鉴于作者技术有限,上述的两种方案,我都没有完整的执行完成,哪怕花了一周的时间也没有,可是没有措施,谁让我是一个很爱钻牛角尖的人呢,下一步提出我自己琢磨出来的方案,流程上稍微有点庞大,可是稳打稳扎,还是可以爬出来的,好了话不多说了,贴出步骤;1.获取所有车型的网页,生存到当地: 1 import bs4 2 import requests as req 3 ''' 4 第一步,下载出所有车型的网页。5 ''' 6 def mainMethod(): 7 ''' 8 剖析所有车型数据生存到D盘 9 '''10 li = [chr(i) for i in range(ord("A"),ord("Z")+1)]11 firstSite="https://www.autohome.com.cn/grade/carhtml/"12 firstSiteSurfixe=".html"13 secondSite = "https://car.autohome.com.cn/config/series/"14 secondSiteSurfixe = ".html"15 16 for a in li:17 if a is not None:18 requestUrl = firstSite+a+firstSiteSurfixe19 print(requestUrl)20 #开始获取每个品牌的车型21 resp = req.get(requestUrl)22 # print(str(resp.content,"gbk"))23 bs = bs4.BeautifulSoup(str(resp.content,"gbk"),"html.parser")24 bss = bs.find_all("li")25 con = 026 for b in bss:27 d = b.h428 if d is not None:29 her = str(d.a.attrs['href'])30 her = her.split("#")[0]31 her = her[her.index(".cn")+3:].replace("/",'')32 if her is not None:33 secSite = secondSite +her + secondSiteSurfixe34 print("secSite="+secSite)35 # print(secSite)36 #奥迪A337 if her is not None:38 resp = req.get(secSite)39 text = str(resp.content,encoding="utf-8")40 print(a)41 fil = open("d:\autoHome\html\"+str(her),"a",encoding="utf-8")42 fil.write(text)43 con = (con+1)44 else:45 print(con)46 if __name__ =="__main__":47 mainMethod()2.剖析出每个车型的关键js并拼装成一个html,生存到当地。

kok体育平台

kok体育

1 import os 2 import re 3 ''' 4 第二步,剖析出每个车型的关键js拼装成一个html 5 ''' 6 if __name__=="__main__": 7 print("Start...") 8 rootPath = "D:\autoHome\html\" 9 files = os.listdir(rootPath)10 for file in files:11 print("fileName=="+file.title())12 text = ""13 for fi in open(rootPath+file,'r',encoding="utf-8"):14 text = text+fi15 else:16 print("fileName=="+file。


本文关键词:python3,爬取,汽车,之家,所有,车型,操作步骤,附,kok体育平台

本文来源:kok体育-www.sdick.com.cn