分享好友 最新动态首页 最新动态分类 切换频道
Scrapy爬取链家数据(一):上手Scrapy框架
2024-12-26 13:26

        最近在关注北京房价变化,关注策略为先筛选小区,然后筛选小区内房价。就实现思路而言,首先想到的是使用爬虫爬取链家网中的数据并保存至数据库中,然后进行简单分析,得出小区及房价变化趋势。经过简单技术选型,决定采用scrapy框架完成上述数据爬取,使用mysql记录数据,记录数据样例如图所示。本系列文章包含爬取小区信息爬取房价信息具体实现及实现过程中问题处理方法

        本次实现选取的Python版本为3.12.1,默认pip等工具已经具备。IDE为Pycharm社区版本。为了屏蔽shell工具差异,本次实现中所有命令均是在IDE内的终端中执行。

        Scrapy 是一个快速的高级网络抓取框架,用于抓取网站并从其页面中提取结构化数据。它可从广泛用于数据挖掘到监控和自动化测试等场景。通过Scrapy安装指南得知,Scrapy 需要 Python 3.8+,CPython 实现(默认)或 PyPy 实现。建议安装前校验所使用的Python版本。首先选取自己常用代码存放目录执行如下命令安装Scrapy框架。

 

命令执行完成后, 在终端内执行如下命令校验Scrapy是否安装成功。

 

如果出现对应版本号,则说明安装成功。其次执行如下命令创建Scrapy项目。

 

其中,myproject为自定义项目名称,[project_dir]为可选参数,该参数定义项目路径。本例中项目名称为“lianjia”执行成功后,进入项目路径,发现项目结构如下图所示

 

至此,完成lianjia Scrapy项目骨架初始化完成。本例项目所在文件夹为lianjia,项目名称为lianjia。

        本节简要介绍项目结构中各个文件用途,为后续实践奠定一定的理论基础。(1)文件,该文件为项目基础配置文件,主要用于配置部署参数,包含项目在完成开发后部署至生产环境时的配置信息,本案例在本地运行,因此未对该文件作修改。(2)文件定义数据结构,Scrapy框架将解析的最终结果以字典形式返回,简单来说即在该文件中定义了什么字段,就可以在返回结果中包含什么字段。(3,下载器中间件是介入到 Scrapy 的 spider 处理机制的钩子框架,可以添加代码来处理发送给 Spiders 的 response 及 spider 产生的 item 和 request,简单来说就是就是在发送请求和收到相应中间插入自定义处理逻辑,针对请求来说可以构造请求参数等,针对响应来说可以过滤响应结果参数等。(4,该文件为爬虫配置文件,包括设置爬虫名称、设置并发访问数量、设置自定义中间件执行顺序及设置重试时间等。(5)spiders文件夹中包含自定义的。

        上述内容对于刚接触Scrapy框架的朋友来说可能有些抽象,不过随着后续实践,可以逐步加深对项目结构的认识和理解。

        通过前两步,我们在实操和概念上对Scrapy框架有了初步认识。本节具体实现一个简单的爬虫,该爬虫可以获取北京朝阳区域部分小区名称。该爬虫为后续爬取详细小区信息奠定初步实践基础。首先创建爬虫命令如下所示

 

 其中[-t template]为可选参数,本案例不设置该参数,使用basic模板。name为爬虫名称domain or url为爬虫爬取数据时允许的域名。本案例具体执行如下命令创建一个爬取链家小区的爬虫

 

命令执行完成后,进入spiders文件夹,发现生成了名为lianjiaxiaoqu.py的爬虫文件,该文件默认内容如下图所示

其中name字段的值为执行创建爬虫命令时输入的爬虫名称,allowed_domains值为允许的域名,start_urls值为爬虫入口,该值类型为列表,说明可以包含多个值。 其次编修改该文件内容,将内容修改如下

 

其中(1)将爬虫入口换为朝阳区域,楼龄在20年内的小区首页的url。(2)在解析方法中将首页小区列表中第一个小区名称解析并打印。

最后执行以下命令运行该爬虫

 

运行结果如图所示

从图中可以看出,“华腾新天地大厦” 为返回结果。

最新文章
ApkTool反编译工具 v2.4.0 官方最新版
ApkTool最新版是一款较为小众的编程软件,全新的工艺组件制作而成,能够对apk文件进行再次编译,轻松实现apk、dex的反编译、回编译等,支持重建、签名、优化apk,当然,掌握ApkTool的使用还需要一定的技能掌握,否则将是一头雾水。1、反编
2023年最新网址导航网站源码,排行榜导航网站 资源导航网站 热点热搜排行榜
☆系统前台简介☆1.申请加入免收录网站友情链接网的网站按最后点进的时间排序首页和分类显示链接,分类以昨日点入时间为准,每晚十二点后生成静态。2.每来访一个IP,就会自动排到第一(刷新一下),当天来路不同次数,显示颜色也不同:有1
2024年江西建筑设计加盟成立分公司的问题+2024top5建筑设计加盟榜单汇总
2024年江西建筑设计加盟成立分公司的问题+2024top5建筑设计加盟榜单汇总
(9.1)视频极速版下载安装版本更新信息:修复了已知bug,提升了应用稳定性和流畅度,新增多种实用功能,优化用户体验
  最新消息:视频极速版于近期发布了9.1版本,用户们纷纷下载体验新功能。此次更新不仅修复了已知的bug,还提升了应用的稳定性和流畅度,新增多种实用功能,优化了用户体验。  在现代社会中,人们对移动应用的要求越来越高。视频极速版
6天5晚云南昆明大理丽江游,仅需这个价!安排!
没去过云南的人总想着这辈子一定要去一趟云南每个人心中,都有一个云南梦或早或晚,我们终会踏上那片神奇的土地生活不止有眼前的苟且,还有诗和远方云南山青水碧,阳光温暖最适合全家旅行一起来感受下云南的风光一家人的完美旅行,深度体验
36漫画app官方下载安装
36漫画app官方下载安装是一款十分好用的追番神器,持续更新最新的漫画资源,海量优质的漫画资源一网打尽,免费在线观看,支持离线缓存下载,让你随时随地随心看。一款海量高清正版漫画资源不断更新的免费漫画软件,该版本为MOD版,看漫免费
AI设计替代人类设计师?风景园林黑科技——LandscapeGAN
技术日新月异,人类工作方式正在快速转变。这一切给人类历史带来了一系列不可思议的奇点,我们曾经熟悉的一切,都开始变得陌生。——约翰·冯·诺依曼(John von Neumann)本文字数:5400字阅读时长:20分钟图片数量:74注:本文动图较多,动
58爱房正式亮相 58同城、世联行、同策重构房产新营销时代
  中新网8月21日电 8月21日,58同城、世联行、同策咨询举办“58爱房品牌发布会暨中国PMLS平台共建战略启动仪式”,共同规划在新房及二手房分销渠道服务合作上的新蓝图。这是继今年6月份58同城、安居客宣布启动跨平台合作之后,进一步深入
@所有卖家 这些重要消息,帮你划好重点了!
对于寻求出海商机的卖家来说,肯尼亚、乌干达和塞内加尔三大非洲站点正展现出巨大的潜力和重要性。本期内容,小编汇集了各国最新的市场动态和热卖趋势,将从政策和日常生活的视角,为卖家朋友们分析这三大市场背后的商业机遇,助您精准把握
336期[幽幽一生]P5精选一注直选
24335期出奖球后回顾,开奖结果:4990624335期形态观察:2024335期体彩排列五奖球形态:大小形态为小大大小大,大小比重为3:2,012路比重: 4:1:0,单双特征:双单单双双,质合特征:合合合合合,质合比为:0:5,和值为28枚,和尾为8点,跨度:9。最大:
相关文章
推荐文章
发表评论
0评