爬虫获取车质网的投诉信息
文章目录
- 前言
- 过程
- 程序分步(先爬取一页)
- 程序一步到位(爬取10页)
- 总结
前言
什么是AI?
The theory and development of computer systems able to perform tasks normally requiring human intelligence.(–Oxford Dictionary)
Using data to solve problems.(–cy)
过程
下图是车质网投诉页面:http://www.12365auto.com/zlts/0-0-0-0-0-0_0-0-0-0-0-0-0-1.shtml
首页的网址为:http://www.12365auto.com/zlts/0-0-0-0-0-0_0-0-0-0-0-0-0-1.shtml。
点击翻页后面有2、3、4…页,网址也分别为:
http://www.12365auto.com/zlts/0-0-0-0-0-0_0-0-0-0-0-0-0-2.shtml
http://www.12365auto.com/zlts/0-0-0-0-0-0_0-0-0-0-0-0-0-3.shtml
http://www.12365auto.com/zlts/0-0-0-0-0-0_0-0-0-0-0-0-0-4.shtml
程序分步(先爬取一页)
#先根据网址得到一个BeautifulSoup对象
request_url=http://www.12365auto.com/zlts/0-0-0-0-0-0_0-0-0-0-0-0-0-1.shtml
#先加一个headers
headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
html=requests.get(request_url,headers=headers,timeout=10)
content=html.text#得到了一个str类型的内容
#通过content去创建一个BeautifulSoup对象
soup=BeautifulSoup(content,'html.parser',from_encoding='utf-8')
#有了soup这个BeautifulSoup对象,找到完整的投诉信息框
temp=soup.find('div',class_="tslb_b")#这里的div 和 tslb_b都是查看页面元素之后找到对应的东西,这个是我们要去候选的区域
#先准备好一个dataframe准备把解析到的数据给放到这个dataframe里面
import pandas as pd
##投诉编号 投诉品牌 投诉车系 投诉车型 问题简述 典型问题 投诉时间 投诉状态
df=pd.DataFrame(columns=['id','brand','car_modle','type','desc','problem','datatime','status'])
tr_list=temp.find_all('tr')#得到里面所有的tr就是汽车投诉那个表
for tr in tr_list:#再去获取里面的每一行 每一行的8个<td>就是要拿到的内容tempMy={}#第一个tr没有td 因为它就是网页中的列索引名称 从第二个tr开始 里面才td 存放的是表格里的内容td_list=tr.find_all('td')if len(td_list)>0:#如果有td 就去提取里面的内容tempMy['id'],tempMy['brand'],tempMy['car_modle'],tempMy['type'],tempMy['desc'],tempMy['problem'],tempMy['datatime'],tempMy['status']=td_list[0].text,td_list[1].text,td_list[2].text,td_list[3].text,td_list[4].text,td_list[5].text,td_list[6].text,td_list[7].textdf=df.append(tempMy,ignore_index=True)
程序运行之后就爬取到了本地:
程序一步到位(爬取10页)
#先导包
import requests
from bs4 import BeautifulSoup
#先准备好一个dataframe准备把解析到的数据给放到这个dataframe里面
import pandas as pd
##投诉编号 投诉品牌 投诉车系 投诉车型 问题简述 典型问题 投诉时间 投诉状态
result=pd.DataFrame(columns=['id','brand','car_modle','type','desc','problem','datatime','status'])
def get_info(request_url):"""一步到位"""## 1根据指定的网址url得到一个BeautifulSoup对象headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}#把request_url和headers放入requests.get()函数里面得到一个response对象html=requests.get(request_url,headers=headers,timeout=10)#再拿到这个responce对象的文字部分 strcontent=html.text#再把这个str喂入BeautifulSoup中得到一个bs对象soup=BeautifulSoup(content,'html.parser',from_encoding='utf-8')#把投诉框里面的内容给拿到了 下面这步是翻看了网页的源码确定的find()里面的内容temp=soup.find('div',class_='tslb_b')#temp里面所有的tr就是汽车投诉那个表tr_list=temp.find_all('tr')##投诉编号 投诉品牌 投诉车系 投诉车型 问题简述 典型问题 投诉时间 投诉状态df_info=pd.DataFrame(columns=['id','brand','car_modle','type','desc','problem','datatime','status'])for tr in tr_list:#再去获取里面的每一行 每一行的8个<td>就是要拿到的内容tempMy={}#先用个字典 准备存放每一个td里面的内容#第一个tr没有td 因为它就是网页中的列索引名称 从第二个tr开始 里面才td 存放的是表格里的内容td_list=tr.find_all('td')if len(td_list)>0:#如果有td 就去提取里面的内容tempMy['id'],tempMy['brand'],tempMy['car_modle'],tempMy['type'],tempMy['desc'],tempMy['problem'],tempMy['datatime'],tempMy['status']=td_list[0].text,td_list[1].text,td_list[2].text,td_list[3].text,td_list[4].text,td_list[5].text,td_list[6].text,td_list[7].text#添加到外面那个大的dataframe里面df_info=df_info.append(tempMy,ignore_index=True)return df_infofor i in range(1,11):result=result.append( get_info('http://www.12365auto.com/zlts/0-0-0-0-0-0_0-0-0-0-0-0-0-'+str(i)+'.shtml') )
然后把这个转成excle或者csv文件即可
result.to_csv("车质网汽车投诉.csv")
总结
爬虫需谨慎。(如果您发现我写的不对,欢迎在评论区批评指正)。
爬虫获取车质网的投诉信息相关推荐
- 手把手教你利用Python网络爬虫获取链家网的房产信息
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...
- python链家网爬虫_手把手教你利用Python网络爬虫获取链家网的房产信息
点击上方" Python爬虫与数据挖掘 ",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来 ...
- python爬虫爬取当当网的商品信息
python爬虫爬取当当网的商品信息 一.环境搭建 二.简介 三.当当网网页分析 1.分析网页的url规律 2.解析网页html页面 书籍商品html页面解析 其他商品html页面解析 四.代码实现 ...
- Java爬虫 获取中国天气网7日天气预报
Java爬虫 获取中国天气网7日天气预报 前言 工具准备 爬取数据 获取日期和星期 获取天气描述 获取温度范围 获取风向及风力 完整代码 引用 前言 项目需要获取7日天气预报,免费好用的接口寻觅不到, ...
- Python实现简单的爬虫获取某刀网的更新数据
昨天晚上无聊时,想着练习一下Python所以写了一个小爬虫获取小刀娱乐网里的更新数据 #!/usr/bin/python # coding: utf-8import urllib.request im ...
- 编写python爬虫 获取中华英才网全网工资数据
做数据分析 数据挖掘,第一步是获取数据,在这里,我们要分析现今全国各地各个职业的工资情况. 我们选择较为权威的'中华英才网',编写python爬虫获取该网站上的各个招聘信息说给出的工资,再取其行业工资 ...
- Python爬虫获取企查查公开的企业信息
1.参考博文 https://blog.csdn.net/qq_39295735/article/details/84504848?utm_medium=distribute.pc_relevant. ...
- 【mysql数据库】通过python 3.7 爬虫获取企查查公开的企业信息,并记录到数据库
1.爬虫的思路参考这篇博文 https://mp.csdn.net/postedit/83628587 2.数据库保存截图如下 3.python代码如下 #!/usr/bin/python3 #-*- ...
- python爬虫获取中国天气网天气数据 requests BeautifulSoup re
python获取中国天气网天气数据:http://www.weather.com.cn/textFC/henan.shtml main.py # -*- coding: utf-8 -*- impor ...
最新文章
- pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization...
- 设计模式之C#实现--FactoryMethod
- Thrift在windows下的使用
- javaee校园信息服务器,基于javaEE服务器 学生考勤管理系统的设计与实现开题报告...
- springboot配置Filter的两种方法
- Event-based Vision: A Survey——论文阅读笔记
- 深度学习(三十一)——Style Transfer
- 第二十九期:全球首部AI交响变奏曲问世,AI技术应用再拓边界
- 听说你盗图都盗绿了?
- asp.net数据绑定之Eval和Bind 和等区别
- 如何遍历或枚举JavaScript对象?
- [C++] 前置++与后置++
- ZooKeeper Web UI -- Shovel
- scrapy实例三 【豆瓣电影Top250】
- 【LeetCode】【字符串】题号:*151. 翻转字符串里的单词
- 为什么倡导企业使用电子招投标?
- PS教程新手入门(一)--去除图片上文字的方法(6种)
- 计算机键盘怎么输入平方,word里平方2怎么打_在word里输入㎡符号的方法
- VMware 无法将值写入注册表项
- pyqt5使用pyinstaller打包项目为exe