Python爬虫——使用lxml解析器爬取汽车之家二手车信息晴空行

本次爬虫的目标是汽车之家的二手车销售信息,范围是全国,不过很可惜,汽车之家只显示100页信息,每页48条,也就是说最多只能够爬取4800条信息。

由于这次爬虫的主要目的是使用lxml解析器,所以在信息的查找上面完全只会涉及lxml中选择器的用法,虽然lxml可以同时使用CSS选择器和Xpath选择器,但是为了更加突出效果,暂且只使用Xpath。

爬虫老套路,分为3个步骤:

网页结构分析的一般思路是先找到第一个需要爬取的链接,然后看看后面的链接是以什么方式构成的,进而选择一种方式全量爬取(一般使用循环或者递归的方式)。

第一页的链接很容易得到,然后可以看到,二手车的信息总计只有100页,每页48个信息,也就是总共有4800个信息可以爬取到。

通过上面的分析,构造所有100页的链接是件很简单的事情,只需要把链接中的数字部分循环替换一下就行了,这就是循环的方式了。这个方式对付这种链接很有规律的URL在适合不过了,具体参考代码:

所谓递归,首先找到一个递归的出口,也就是爬虫的终点。对于这个爬虫,终点就是当爬到第100页的时候就要结束,既然思路明确了,那可以看看第100页与其他页面有什么不同。

通过分析,可以看到1-99页都有一个“下一页”的按钮,而最后一页是没有这个按钮的,这就是出口。只需要设置一个判断就行了:

html=requests.get(url,headers=self.headers).text这一句是通过requests来获取网页结构,形成标签树。

每当找到“下一页”这个按钮,就执行if下面的代码,也就是把找到的下一页链接放入函数中去继续执行,这就形成了递归。当然,前面也说过了,只有1-99页是有这个按钮的,所以到了第100页就找不到这3个字了,这里的if判断就会停止执行,递归也就结束了。

这一段就是递归的判断:

这段代码就是提取每个页面的所有二手车链接,并且对每个链接执行函数去提取有效信息:

每个主页是一个单独的链接,所以可以写一个函数,传入一个url,然后输出需要提取的信息就行了,具体代码如下:

提取的方式依然是使用xpath选择器,由于有的信息格式不符合之后要保存的格式,所以使用python的基本方法稍微处理了一下。

最后,再保存信息之前,只用print打印一下提取到信息,查看信息的完整性和准确性。

这样,一个爬虫的前2步就已经完成了,剩下一的就是选中一个合适的方式将信息储存起来。数据库是个好工具,mongodb更是一个好数据库,没错,就是你了!

由于爬虫的信息不需要太明确的关系,主要目的是存储信息,所以数据库的选择上优先选择mongodb,这种非关系型数据库真是最好不过了。

首先需要导入相应的数据库工具库

frompymongoimportMongoClient然后是连接数据库,由于这个爬虫是写到一个AutohomeSpider类中,因此可以在初始化的时候直接链接指定的数据库,并且可以同时创建表格。

具体代码如下:

self.coon=MongoClient('localhost',27017)self.coll=self.coon['autohome']['Oldcars']上述代码可以看到,连接了本地mongodb之后,可以直接创建之前不存在的数据库和数据表。

mongodb插入信息的方式非常简单,只需要将数据存放到一个字典中,然后使用insert()方法就行。

具体插入信息的代码在上面代码中的

self.coll.insert(dic)也就是每爬取一条信息就存入mongodb中。

最后爬虫结束,可以使用第三方可视化工具查看一下mongodb中存储的数据:

爬虫比较简单,爬取的信息也没有多大的价值,因此不做后续深入研究,这个爬虫主要是为了介绍lxml解析器和Xpath选择器。

THE END
1.全国二手车二手车之家全国二手车,提供全国二手车报价,众多商家入驻,二手车车辆信息完善,选车放心、便捷,买卖二手车就上二手车之家。https://car.autohome.com.cn/2sc/china/beiqizhizao/changancs95/a0_0msdgscncgpi1lto3cspexe3/
2.汽车之家汽车之家二手车之家1.汽车之家二手车估价准吗 2.汽车之家上有二手车? 3.汽车之家怎么发布个人二手车 可以在电脑上打开汽车之家并登录进入然后点击二手车在出现的二手车页面中选择需要出售的车辆信息并按照页面提示即可完成发布。另外4S店也回收二手车也可以去4S店咨询一下。以下是卖二手车的注意事项:1、卖车方式要多方选择:可以通过https://www.383438.com/qczs/23390.html
3.汽车之家二手车的微博汽车之家二手车,汽车之家二手车官方微博。汽车之家二手车的微博主页、个人资料、相册。新浪微博,随时随地分享身边的新鲜事儿。https://weibo.com/che168che
4.二手车之家买车卖车估值汽车之家二手车,是汽车之家旗下二手车全业务交易平台,买卖更放心!【关于我们】依托于汽车之家强大的用户大数据和深度的专业性,以及得益于平安集团雄厚的资金后盾,打造一个放心、省心、称心的二手车交易平台。【买车服务】覆盖全国400个城市,海量真实可靠在售车源,累计合作商家万余家,专业审核团队严格把控,精准满足您https://app.xiaomi.com/details?id=com.autohome.usedcar
5.汽车之家追加投资天天拍车1.68亿美元打造全国最大的二手车平台本文转自【汽车之家】;近日,汽车之家发布公告,已与中国领先的二手车拍卖平台天天拍车达成最终协议,汽车之家通过认购天天拍车优先股的方式,向天天拍车投资1.68亿美元,以加快双方在二手车交易领域的发展。消息一出,业内人士普遍认为,汽车之家二手车与天天拍车强强联合,或将极大优化我国二手车产业结构和流通http://baijiahao.baidu.com/s?id=1681762510565372356&wfr=spider&for=pc
6.汽车之家怎么发布个人二手车发布个人卖车信息方法在汽车之家中,用户是可以发布自己的卖车信息的,这样别的用户就可以看到你发布的卖车信息了。汽车之家怎么发布个人二手车?下面小编就来为大家介绍一下发布个人卖车信息的方法。汽车https://shouyou.3dmgame.com/gl/332380.html
7.汽车之家客户端官方免费下载移动产品买车问价就用汽车报价。真实有效的车型及价格信息一手掌握,搭载“实时沟通”工具十万销售顾问在线等你。让您更轻松的找车、买车! 二手车之家 二手车之家囊括了全国近50万辆真实二手车车源,每天有近80万用户访问,合作商家达到近15000家,每天有数千条的二手车源发布。 https://www.athmapp.com/apps/
8.我爬了某车之家22万条的二手车数据并做了统计分析,让您看看最近闲来无事,在某车之家上浏览二手车的时候,突发奇想,都说日系车保值率高,美系车保值率低,那两者之间的差别能有多大?或者说,不同汽车品牌之间的保值率能有多大差别呢? 正好自己平时也在做数据方面的工作,那为何不爬一下所有二手车的交易数据,看一下真实情况呢? https://post.smzdm.com/p/ax0xnlx4/
9.汽车之家各种名车报价懂车帝提供汽车之家各种名车报价的详细内容,懂车帝是一个汽车资讯平台,懂车更懂你。我们提供最新汽车报价,汽车图片,汽车价格大全,行情、评测、导购等内容,看车选车买车就上懂车帝。https://www.dongchedi.com/tag/pgc/11310128
10.十大二手车交易平台介绍哪家比较好十大品牌二手车交易平台有哪些?哪些二手车的交易平台比较好,值得大家的信赖呢?品牌网小标为您推荐以上十大品牌:瓜子二手车、优信二手车、人人车、大搜车、二手车之家、淘车TAOCHE、车王CARKING、车置宝、51汽车、天天拍车。、https://www.chinapp.com/shidapinpai/192528
11.现场实拍日本自卫队现役军用吉普车[汽车之家 车坛勐料] 日本汽车我们大家都熟悉,日本自卫队也经常在新闻里听到,但是日本自卫队用什么汽车,想必很多朋友就不是很了解了。在前段时间在东京出差时恰巧碰到自卫队搞宣传活动,把正在服役的各式吉普车…https://zhuanlan.zhihu.com/p/107341935
12.微博认证:汽车之家二手车官方微博明天上汽车之家App,进入底部二手车频道,参与活动吧! 转发 2 赞 汽车之家二手车 2023-3-16 来自iPhone客户端 @合肥晚报 感谢媒体监督,坚决打击二手车行业“李鬼”,保护消费者权益! 1 3 1 汽车之家二手车 2023-2-27 来自 微博网页版 #家家选车导购# 【个性二手车:用钞能力实现双倍快乐的车】如果https://m.weibo.cn/u/1761672283
13.汽车之家加码天天拍车,万亿二手车市场洗牌疫情之后,人们更依赖于VR看车、视频验车等无接触方式购车,进一步带动了线上交易的活跃,同时也带动了相关企业业务的腾飞,如汽车之家2020年Q1财报显示,汽车之家二手车事业部消费贷业务已完成放款2.5亿,同比增长108%;车险方面,因为与平安产险积极展开深度合作,让本来缺少抓手的线下保险业务与汽车之家产生粘性,保费规模同比https://www.yoojia.com/article/9121457286043780246.html