站内公告: 欢迎光临某某汽车有限公司网站!
0510-87871999
>> 当前位置:主页 > 黑白直播资讯 >

黑白直播appPython神技能 使用爬虫获取汽车之家全

文章来源:bob 更新时间:2022-10-12

  近来想在事情相干的项目上做手艺改良,需求全而准的车型数据,寻寻找觅而不得,以是就只能本人入手人给家足,到网上获(窃)得(取)数据了。

  汽车之家是各人公认的数据做的比力好的汽车网站,以是就用它吧。(感激汽车之家的大大们这么存心地做数据,敬慕)

  俗语说的好,“十爬虫九python”,作为一只java狗,我颤颤巍巍地拿起了python想要感触感染一下scrapy的壮大。。。

  在写这个爬虫之前,我用urllib2,BeautifulSoup写了一个版本,不外服从太差,并且另有内存溢出的成绩,作为python小白觉得很有力,以是用scrapy才是邪道。

  汽车之家车型数据爬虫[odePool/tree/master/python/autohome_spider]:这是我工程的代码,以下内容需求参照着代码来了解,就不贴代码在这里了。

  Scrapy中文文档:这是Scrapy的中文文档,详细细节能够参照文档。黑白直播官网感激Summer同窗的翻译。

  Xpath教程:剖析页面数据要用到xpath的语法,简朴理解一下,在做的过程当中碰到成绩去查一下就可以够了。

  工程初始化后,scrapy中的各个元素就被构建好了,不外构建出来的是一副空壳,需求我们往里边写入我们的爬虫逻辑。

  在汽车之家的页面中寻找一番后,找到了一个爬虫的切入点,汽车之家车型大全。这个页面里有一切品牌的数据,恰是我的目的。不外在察看的过程当中发明,这个页面里的品牌数据是在页面向下转动的过程当中提早加载的,如许我们经由过程恳求这个页面不克不及获得到提早加载的那部门数据。不外不要慌,看一下提早加载的方法是甚么样的。

  找到纪律了,每次加载的URL,都只是改动了对应的字母,以是对A到Z别离恳求一次就取到了一切的品牌数据。

  翻开autohome.com.cn/grade/carhtml/B.html看下,发明页面的数据很规整,是根据品牌-厂商-车系的层级构造的。嗯,正合我意,那就开爬吧。

  parse办法的入参中,response就是对start_urls中的链接的恳求呼应数据,我们要爬取的品牌数据就在这内里,我们需求从response中提掏出来。从response提取数据需求利用xpath语法,参考上边的xpath教程。

  提取数据之前,需求先给品牌数据界说一个实体类,由于需求把品牌数据存到数据实体中并落地到磁盘。在items.py文件中界说一个BrandItem类,这个类担当了scrapy.Item类,类中声清楚明了爬取到的、要落地的品牌相干数据,这就是scrapy的Item类。

  界说好品牌实体后,在parse办法中声明一个BrandItem实例,然后经由过程reponse.xpath办法取到想要的品牌ID、品牌url、品牌称号、图标url等数据,并设置到BrandItem实例中,最初经由过程yield来聚合爬取到的各个品牌数据并返回,返回的数据会进入pipeline。

  爬取到的数据接着被pipeline.py文件中界说的Pipeline类处置,这个类凡是是对传入的Item实体做数据的洗濯、排重等事情,能够界说多个Pipeline,顺次对Item处置。因为临时没有这方面的需求,就不改写这个文件,连结默许形态就好。颠末pipeline的处置后,数据进入数据集。

  关于爬取到的车型数据,我想以csv的格局输出,而且输出到指定目次下,此时需求修正settings.py文件。

  品牌数据的爬虫编写完成了,在项目根目次下施行scrapy crawl brand,不出不测的话,在施行了brand爬虫后,会在data目次下呈现一个新的csv文件,而且装满了品牌数据。

  不外需求留意一个成绩,就是当爬虫高频地恳求网站接口的时分,有能够会被网站辨认出来而且屏障掉,由于太高频的恳求会对网站的效劳器形成压力,以是需求对爬虫限速。

  别的,假如爬虫发送的恳求头中没有设置user agent也很简单被屏障掉,以是要对恳求头设置user agent。

  车型爬虫略微庞大一些,实如今spiders/model_spider.py中。车型爬虫要从页面中剖析出车型数据,同时要剖析出更多的URL增加到恳求行列中。并且,车型爬虫爬取的页面其实不像品牌数据页面那末规整,以是要按照URL的特性和页面中的特性来调解剖析战略。因而在这里用到了CrawlSpider和Rules,详细参照Spider文档。

  以上就完成了一个简朴的汽车之家的车型数据爬虫,其顶用到了scrapy中的部门元素,固然另有许多元素没有触及到,不外关于一个简朴爬虫来讲足矣。

  在用xpath剖析页面的时分,写出来的xpath语句很能够与预期不符,并且调试起来很费事,我是用以下方法来进步服从的:

上一篇:黑白直播网址《2022中国最佳品牌排行榜》:上榜

下一篇:黑白直播下载第二季度汽车制造业概念上市公司

返回列表



Copyright © 2014-2021 黑白直播|官网首页 版权所有电话:0510-87871999手机:15020217966

地址:江苏省宜兴市和桥镇和闸路698号ICP备案编号:苏ICP备16000906号-1技术支持:ob欧宝体育