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.汽车之家官方免费查二手车价格买车推荐官 6754观看关注 汽车之家:汽车之家提示您:我们倡导文明用语,绿色的交流环境。请不要恶意攻击国家、其它用户及工作人员;不要发布任何涉及广告及色情、恐暴、反动或违反国家法律法规的消息。违禁者会被禁言。不再提示 备案号:Z0110553230119003 发送 艾瑞泽7e 2016款 1.6L e致尚版 2.98万 咨询优惠https://live.m.autohome.com.cn/live/550980
2.汽车之家2024最新报价二手车合集汽车之家2024最新报价官网合集(共21款) 汽车之家2024最新报价官网合集是一款汽车购买软件,里面有新车,也有二手车,有最新款的,也有实惠型的,价格优惠,下面由小编为大家整理一些汽车之家2024最新报价官网合集的内容,希望对大家有所帮助。更新时间:2024-01-12 15:11:51https://m.ali213.net/tag/qczj2021zxbjgw.html
3.汽车行业主题汇总(20241122更新)新兴市场电动车销量已进入快速增长阶段 海通证券 2024-9-28 汽车之家IDC多活实践之缓存同步实战指南 李建彪 2024 域示范性公用集中式电动汽车充电站建设规范(DB41 T 2635—2024)河南 2024-3-12 2024智能电动汽车发展趋势洞察 汽车之家 2024 2024改装车消费文化市场洞察报告 徐徐之咨询 2024 https://blog.csdn.net/weixin_55366265/article/details/143990597
4.中国十大汽车网汽车网站有哪些2024年汽车网十大品牌最新发布,汽车网排行榜前十名品牌有汽车之家、易车、懂车帝、太平洋汽车网、爱卡汽车、瓜子、有驾、卡车之家、网上车市、第一电动网。汽车网10大品牌排行榜由品牌研究部门收集整理大数据分析研究得出,帮助你了解汽车资讯网站有哪些。https://www.maigoo.com/maigoo/1349qcwz_index.html
5.汽车之家S(02518)个股概要股票价格最新资讯行情走势网传海尔或将收购汽车之家二手车业务,并裁员30% 1月20日,据“轰Party”报道,海尔将正式收购汽车之家,后续会对其裁员30%。对此,内部人士对凤凰网科技透露了增量信息,主要收购业务为二手车,预计在交易完成后对后者进行约30%的人员裁减。 针对这一传闻,海尔集团于11月20日正式回应了市场消息。海尔集团表示:“感谢大https://www.laohu8.com/stock/02518
6.汽车之家里面的二手车报价靠谱吗?汽车之家的二手车报价比实际二手车市场的报价是一样的。 从二手车的定义来看主要是在经过国家相关登记之后,在国家报废标准之前或在经济实用寿命期内服役,并仍可继续使用的机动车辆。这样看来,三手车、四手车几乎可以被叫做二手车,只是表面上看过户次数增加,车辆价值越来越低,所牵扯的问题也会增加。 https://www.yoojia.com/ask/17-11772272070050469360.html
7.二手车之家(com.autohome.usedcar)8.68.5应用汽车之家二手车,是汽车之家旗下二手车全业务交易平台,买卖更放心! 【关于我们】 依托于汽车之家强大的用户大数据和深度的专业性,以及得益于平安集团雄厚的资金后盾,打造一个放心、省心、称心的二手车交易平台。 【买车服务】 覆盖全国400个城市,海量真实可靠在售车源,累计合作商家万余家,专业审核团队严格把控,精准https://www.coolapk.com/apk/com.autohome.usedcar
8.汽车之家下载汽车之家版本大全汽车之家下载合集为大家提供了全网最新的汽车之家下载地址,在这里,大家可以找到各种各样的汽车之家版本下载,还包括汽车之家安卓版、ios版、官方版等下载,方便大家更好的体验汽车之家。https://www.18183.com/heji/115515/
9.2020汽车之家车友交流懂车帝提供2020汽车之家的车友交流详细内容,懂车帝是一个汽车资讯平台,懂车更懂你。我们提供最新汽车报价,汽车图片,汽车价格大全,行情、评测、导购等内容,看车选车买车就上懂车帝。https://www.dongchedi.com/tag/ugc/9658907
10.二手车之家下载二手车之家安卓版下载二手车App是由汽车之家二手车团队精心打造,充分体现二手车之家专业优势、资讯最真实、车源最可靠,并建立了公正、严格、周密的车辆发布审核体系,为买家提供了真实可靠有保障的车源。 二手车覆盖全国300多个城市,拥有近千万用户,囊括全国数20余万辆真实二手车源,每天有近百万用户访问,近万条车源实时发布,合作商家达15http://www.appchina.com/app/com.autohome.usedcar