


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二、《基于Python的汽车数据爬取与分析》1课题内容和要求问题的提出用Python语言自行编写爬虫框架或使用Scrapy框架,爬取汽车之家或易车网的车辆相关数据,按照品牌、车系、年款、价格等信息进行分类和显示。使用正那么表达式从网页中提取有用的数据。可以实现多线程爬取,以提高爬取效率。在此根底上可以进一步获取用户反应信息,评价不同车型的优劣。1.2选题背景与意义在现在这种互联网浪潮下,信息正在扮演越来越重要的角色。人们获取信息,分析信息,利用信息。而怎样快速便捷地获取信息成为人们非常关注的问题。同时,随着中国工业化水平和经济水平的提高,汽车成为家庭必需品。人们对汽车信息的需求也在不断增大。在此背景下,我们选择了“基于python的汽车信息爬取与分析〞这个课题,因为我们想要通过这次锻炼切实地解决一个现实问题。1.3开发工具简介运行环境如果要运行此软件,用户计算机必须有Python环境和Scrapy环境。开发环境本软件基于Python3.6和Scrapy1.4开发Scrapy各组件版本号如下:Python:3.6.1(v3.6.1:69c0db5,Mar212023,17:54:52)pyOpenSSL:17.3.0(OpenSSL1.1.0f25May2023)开发工具Pycharm、cmder2需求分析2.1可行性分析技术可行性:python在爬虫方面有资源和环境优势。易车网对爬虫脚本比拟友好。操作可行性:Scrapy作为一个非常强大的爬虫框架,有着它易用,高效的一面。同时由于Scrapy对于有python学习背景的人来说上手不算困难,故此工程可以用Scrapy来实现。2.2系统数据需求本系统最终将爬取到的数据以csv文件存储在本地工程根目录下,方便用户通过excel软件直接对数据进行查看和分析。2.3系统的性能需求此系统基于Scrapy框架,由于Scrapy默认支持多线程爬取,系统的性能根本可以到达要求。而稍后的测试结果也佐证了此结果。3概要设计3.1系统结构的总体设计3.2系统模块设计基于scrapy,我们的工程分为4个模块,分别是定义爬取数据模块、爬取模块、配置模块和数据处理模块。我们在item.py中CarItem类中定义要爬取的数据,如品牌、车系、年款、价格等等。爬取模块会直接引用该类创立的对象对数据进行保存。我们在pipelines.py中设置对爬取下来的数据的处理方式,比方存储方式、过滤去重等操作。该文件从bitauto.py文件中获取爬取到的信息,并进行相关处理。我们在settings.py中对工程进行一些必要设置,如优先级、多线程、延迟等。同时在测试时,我们可以根据修改此文件的配置信息来控制变量测试相关因素对爬取效率的影响。bitauto.py是主要爬取方法实现的文件。分析网页,获取信息,跳转页面等等核心操作全部由此文件来实现。4详细设计类图:核心算法流程图:核心操作全部在bitauto.py中实现,故此局部主要描述bitauto.py的设计。具体实现采用面向过程的编程方法,具体到代码那么是4个方法,分别是parse(),parse_detail(),parse_soft()和parse_word()方法。Parse()方法用于从主页面获取品牌信息列表,并生成相关车系链接并调用parse_detail()方法对车系页面进行处理。分析源码发现当前热销的汽车品牌保存在一个无序列表<ul>中。我们对此无序列表中的每个<li>标签进行遍历,获取它的href属性并生成绝对链接。在每生成一个链接之后,我们可以在yield语句中调用request方法进到下级页面去获取相关信息。Parse_detail()方法用于获取某品牌的车系列表,并生成相关车辆具体信息页面的URL,调用parse_soft()方法对车辆的详情页面进行处理。分析当前页面源码发现各种车型都被包裹在一个<div>标签中。我们可以对此标签下的<a>标签进行获取,并得到href属性,这里得到的是相对链接,然后把它拼接成绝对链接,这样我们就获取到了每个车型的详情页面。同样使用yield调用request方法可以进行下级页面的分析。Parse_soft()方法爬取车辆的根本信息,包括品牌、车系、年款、价格和评分,并生成口碑链接调用parse_word()方法对车辆的口碑信息进行处理。此页面的处理比拟简单,我们需要的各种信息都以各种标签的形式直接出现在源码中,直接可以提取出来。然后获取口碑链接以同样的方法跳转口碑页面。Parse_word()方法用于获取车辆的优缺点和用户评论,此方法是最后一个方法。此页面中将优点、缺点和评论分别放在一个<div>中,对<div>进行遍历,即可得到相关数据。它们的调用关系是逐级调用。5测试数据及其结果分析为了测试爬取数据的正确性,我们设计爬取易车网当前热销的16款品牌下的所有车型,共计约500款,而我们对此爬取的结果与我们直接在网站上记录的结果数目根本吻合,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论