基于Python的汽车信息爬取与分析

上传人:txadgkn****dgknqu... 文档编号:68688667 上传时间:2022-04-03 格式:DOCX 页数:5 大小:159.85KB
收藏 版权申诉 举报 下载
基于Python的汽车信息爬取与分析_第1页
第1页 / 共5页
基于Python的汽车信息爬取与分析_第2页
第2页 / 共5页
基于Python的汽车信息爬取与分析_第3页
第3页 / 共5页
资源描述:

《基于Python的汽车信息爬取与分析》由会员分享,可在线阅读,更多相关《基于Python的汽车信息爬取与分析(5页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上二、基于Python的汽车数据爬取与分析1 课题内容和要求1.1 问题的提出1) 用 Python 语言自行编写爬虫框架或使用 Scrapy 框架,爬取汽车之家或易车网的车辆相关 数据,按照品牌、车系、年款、价格等信息进行分类和显示。2) 使用正则表达式从网页中提取有用的数据。 3) 可以实现多线程爬取,以提高爬取效率。 4) 在此基础上可以进一步获取用户反馈信息,评价不同车型的优劣。1.2 选题背景与意义在现在这种互联网浪潮下,信息正在扮演越来越重要的角色。人们获取信息,分析信息,利用信息。而怎样快速便捷地获取信息成为人们非常关注的问题。同时,随着中国工业化水平和经

2、济水平的提高,汽车成为家庭必需品。人们对汽车信息的需求也在不断增大。在此背景下,我们选择了“基于python的汽车信息爬取与分析”这个课题,因为我们想要通过这次锻炼切实地解决一个现实问题。1.3 开发工具简介a) 运行环境如果要运行此软件,用户计算机必须有Python环境和Scrapy环境。b) 开发环境本软件基于Python3.6和Scrapy1.4开发Scrapy各组件版本号如下:Scrapy : 1.4.0lxml : 4.0.0.0libxml2 : 2.9.5cssselect : 1.0.1parsel : 1.2.0w3lib : 1.18.0Twisted : 17.5.0Py

3、thon : 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) pyOpenSSL : 17.3.0 (OpenSSL 1.1.0f 25 May 2017)Platform : Windows-10-10.0.15063-SP0c) 开发工具Pycharm、cmder2 需求分析2.1 可行性分析 技术可行性:python在爬虫方面有资源和环境优势。易车网对爬虫脚本比较友好。 操作可行性:Scrapy作为一个非常强大的爬虫框架,有着它易用,高效的一面。同时由于Scrapy对于有python学习背景的人来说上手不算困难,故此项目可以用Scrapy来实现

4、。2.2 系统数据需求 本系统最终将爬取到的数据以csv文件存储在本地项目根目录下,方便用户通过excel软件直接对数据进行查看和分析。2.3 系统的性能需求此系统基于Scrapy框架,由于Scrapy默认支持多线程爬取,系统的性能基本可以达到要求。而稍后的测试结果也佐证了此结果。3 概要设计3.1 系统结构的总体设计3.2 系统模块设计基于scrapy,我们的项目分为4个模块,分别是定义爬取数据模块、爬取模块、配置模块和数据处理模块。我们在item.py中CarItem类中定义要爬取的数据,如品牌、车系、年款、价格等等。爬取模块会直接引用该类创建的对象对数据进行保存。我们在pipelines

5、.py中设置对爬取下来的数据的处理方式,比如存储方式、过滤去重等操作。该文件从bitauto.py文件中获取爬取到的信息,并进行相关处理。我们在settings.py中对项目进行一些必要设置,如优先级、多线程、延迟等。同时在测试时,我们可以根据修改此文件的配置信息来控制变量测试相关因素对爬取效率的影响。bitauto.py是主要爬取方法实现的文件。分析网页,获取信息,跳转页面等等核心操作全部由此文件来实现。4 详细设计类图:核心算法流程图:核心操作全部在bitauto.py中实现,故此部分主要描述bitauto.py的设计。具体实现采用面向过程的编程方法,具体到代码则是4个方法,分别是pars

6、e(),parse_detail(),parse_soft()和parse_word()方法。Parse()方法用于从主页面获取品牌信息列表,并生成相关车系链接并调用parse_detail()方法对车系页面进行处理。分析源码发现当前热销的汽车品牌保存在一个无序列表中。我们对此无序列表中的每个标签进行遍历,获取它的href属性并生成绝对链接。在每生成一个链接之后,我们可以在yield语句中调用request方法进到下级页面去获取相关信息。Parse_detail()方法用于获取某品牌的车系列表,并生成相关车辆具体信息页面的URL,调用parse_soft()方法对车辆的详情页面进行处理。分析当

7、前页面源码发现各种车型都被包裹在一个标签中。我们可以对此标签下的标签进行获取,并得到href属性,这里得到的是相对链接,然后把它拼接成绝对链接,这样我们就获取到了每个车型的详情页面。同样使用yield调用request方法可以进行下级页面的分析。Parse_soft()方法爬取车辆的基本信息,包括品牌、车系、年款、价格和评分,并生成口碑链接调用parse_word()方法对车辆的口碑信息进行处理。此页面的处理比较简单,我们需要的各种信息都以各种标签的形式直接出现在源码中,直接可以提取出来。然后获取口碑链接以同样的方法跳转口碑页面。Parse_word()方法用于获取车辆的优缺点和用户评论,此方法是最后一个方法。此页面中将优点、缺点和评论分别放在一个中,对进行遍历,即可得到相关数据。它们的调用关系是逐级调用。5 测试数据及其结果分析为了测试爬取数据的正确性,我们设计爬取易车网当前热销的16款品牌下的所有车型,共计约500款,而我们对此爬取的结果与我们直接在网站上记录的结果数目基本吻合,为此可证软件的正确性。在延迟设置为1s的情况下,观察爬取结果发现,平均每分钟可以爬取5058条数据,而当延迟设置为0.25s,我们的爬取速度平均每秒达到了4条数据。由此我们可以得出,该项目的性能能够满足用户的基本需求。专心-专注-专业

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!