爬取车质网分析爱车
想买车的朋友,可以把喜欢的车型可以在车质网查询一下,以确定车辆的问题是否超出心理预期。
为了快速分析看好的车辆,我们爬取了所有该车的投诉点,以长安univ为例做的爬取。
筛选后,得到上千条结果,这种手动翻翻翻肯定是很慢的,况且后面还要处理好几种车型,我对这个接口做爬取,快速获取所有数据。
def html(page, car_name: str): car_url = { '长安uni-v': f'http://www.12365auto.com/zlts/15-3290-0-0-0-0_0-0-0-0-0-0-0-{page}.shtml' } res = requests.get(car_url[car_name]) time.sleep(1) text = res.text with open(car_name + str(page) + '.html', 'w', encoding='utf-8') as f: f.write(text) return text
获取完之后,这只是一个个的html静态页面。
需要把里面的表格数据提取出来,有很多库支持这种提取,比如beautifulsoup,但由于我好像讲过了它的使用,这次换成scrapy的selector。
提取也很大同小异的。
def car(text): big_li = [] sel = Selector(text=text) for t_r in range(2, 11): a_li = [] for t_d in [4, 5, 7]: # xpath = f'//*[@id="content"]/div[4]/div[2]/table/tbody/tr[{t_r}]/td[{t_d}]' xpath = f'//*[@id="content"]/div[4]/div[2]/table/tr[{t_r}]/td[{t_d}]/text()' if t_d == 5: xpath = f'//*[@id="content"]/div[4]/div[2]/table/tr[{t_r}]/td[{t_d}]/a/text()' tds = sel.xpath(xpath) con = tds.extract() if not con: break con = con[0] a_li.append(con) if a_li: big_li.append(a_li) return big_li
这样,就可以把各种投诉项放进列表里,以方便后续的分析。
使用pandas本地化数据。
df = pd.DataFrame(data) df.to_csv(name + '.csv', encoding='GBK')
记录了车型、问题、和问题时间。全部落在excel表格里。
最后需要对关键词条进行提取,比如 是服务投诉,还是底盘盘有问题呀,还是车机问题呀,做好分类。这一步就是判断关键词是否在投诉的问题里。
univ的处理完了,可以再处理下一个爱车,也是类似的步骤。
罗列的车型还有艾瑞泽8、影豹、标志408、伊兰特、威朗、思域、领克03
多个车型对比下来之后,就有了一份总结,这里,我直接把这份总结给出来。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库