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.汽车之家二手车的微博#家家选车导购# 【个性二手车:用钞能力实现双倍快乐的车】如果拥有钞能力,就可以实现双倍的快乐。如果SUV在兼顾空间的同时,也有超群的性能。如果……O网页链接 +6 ?收藏 转发 评论 ?赞 c +关注 汽车之家二手车 2023-2-23 10:45 来自微博网页版 #家家汽车文化#【20万https://weibo.com/che168che
3.汽车之家下载汽车之家版本大全汽车之家下载合集为大家提供了全网最新的汽车之家下载地址,在这里,大家可以找到各种各样的汽车之家版本下载,还包括汽车之家安卓版、ios版、官方版等下载,方便大家更好的体验汽车之家。https://www.18183.com/heji/115515/
4.汽车之家二手车评估App下载汽车之家二手车评估官方版下载乐玩谷新区手游网为您提供汽车之家二手车评估App下载,汽车之家二手车评估官方版App的推出,不仅为消费者提供了一个可靠、准确的二手车评估工具,还推动了二手车市场的透明化和规范化发展。在未来,我们有理由相信这一平台将继续发挥其科技优势,为消费者提供更加便捷、全面的二手车交易服务。随着技术的不断进步和市场的https://www.lwgxqsy.com/read/1065.html
5.二手车之家二手车交易市场二手车app二手车之家,线上二手车交易市场,二手车网,提供全国二手车报价,全国二手车评估,全国商家,认证,个人二手车信息,买卖二手车就上二手车之家。https://www.athmapp.com/apps/2sc/
6.网易汽车网易态度之夜 邀业内大咖问道汽车科技 [详细] CES智驱未来 网易汽车/科技联手征战 [详细二线日系车:中国市场太难了 BBA的电动化成绩单 奥迪要找中国车企买电动平台?谁家胜算最大 自媒体聚焦https://auto.163.com/
7.二手车之家(com.autohome.usedcar)8.68.5应用汽车之家二手车,是汽车之家旗下二手车全业务交易平台,买卖更放心! 【关于我们】 依托于汽车之家强大的用户大数据和深度的专业性,以及得益于平安集团雄厚的资金后盾,打造一个放心、省心、称心的二手车交易平台。 【买车服务】 覆盖全国400个城市,海量真实可靠在售车源,累计合作商家万余家,专业审核团队严格把控,精准https://www.coolapk.com/apk/com.autohome.usedcar
8.易车全新岚图梦想家答网友问第九期魏牌蓝山最新周销量达1443台哪吒S猎装亮相泰国车展 奇瑞汽车公布新专利可根据人脸情绪识别危险驾驶行为尊界S800开启预订48小时订单辣车族 告别油价烦恼,吉利银河星舰7 EM-i要预定爆款? 2024-11-29 12:11:10 一点车视 比亚迪30周年旗舰之作,方程豹 豹8正式上市 https://www.yiche.com/
9.汽车之家品牌介绍汽车之家汽车网2010年10月,发布iOS与Android版,成为较早启动移动互联网项目的汽车网站。2011年9月,布局二手车业务,“二手车之家”上线,逐渐完善产业链平台化布局。2014年6月、9月、12月,相继布局电商、金融和后市场业务。 在历经媒体化、平台化、智能化的转型后,汽车之家多方位服务C端消费者和B1端主机厂、B2端汽车生态各类https://www.maigoo.com/brand/28376.html
10.车生活—汽车之家看车买车用车车生活旗下汽车之家专门为您提供最新汽车评测以及新闻资讯、导购、维修、保养、安全、汽车论坛、自驾游、汽车休闲、汽车文化等方面的内容,是服务于购车人群的汽车论坛!http://www.andapei.com/
11.汽车之家怎么卖车汽车之家app发布卖车信息方法汽车之家为用户提供了汽车相关的一系列服务,大家不仅可以在这里选车买车,而且还可以发布卖车信息卖二手车哦!汽车之家怎么卖车?下面小编就来为大家介绍一下汽车之家app发布卖车信息的方法。 汽车之家怎么卖车? 1、打开汽车报价大全,点击二手车 2、点击帮您卖车 https://app.3dmgame.com/mip/gl/332371.html