位置: 编程技术 - 正文

Python实现并行抓取整站40万条房价数据(可更换抓取城市)(并行 python)

编辑:rootadmin

推荐整理分享Python实现并行抓取整站40万条房价数据(可更换抓取城市)(并行 python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python 并行执行多个函数,并行 python,python并发执行shell,python并行编程手册,python 并行执行多个函数,python 并行执行多个函数,python并发和并行,python 并行执行多个函数,内容如对您有帮助,希望把文章链接给更多的朋友!

写在前面

这次的爬虫是关于房价信息的抓取,目的在于练习万以上的数据处理及整站式抓取。

数据量的提升最直观的感觉便是对函数逻辑要求的提高,针对Python的特性,谨慎的选择数据结构。以往小数据量的抓取,即使函数逻辑部分重复,I/O请求频率密集,循环套嵌过深,也不过是1~2s的差别,而随着数据规模的提高,这1~2s的差别就有可能扩展成为1~2h。

因此对于要抓取数据量较多的网站,可以从两方面着手降低抓取信息的时间成本。

1)优化函数逻辑,选择适当的数据结构,符合Pythonic的编程习惯。例如,字符串的合并,使用join()要比“+”节省内存空间。

2)依据I/O密集与CPU密集,选择多线程、多进程并行的执行方式,提高执行效率。

一、获取索引

包装请求request,设置超时timeout

一级位置:区域信息

二级位置:板块信息(根据区域位置得到板块信息,以key_value对的形式存储在dict中)

以dict方式存储,可以快速的查询到所要查找的目标。-> {'朝阳':{'工体','安贞','健翔桥'......}}

三级位置:地铁信息(搜索地铁周边房源信息)

Python实现并行抓取整站40万条房价数据(可更换抓取城市)(并行 python)

将所属位置地铁信息,添加至dict中。 -> {'朝阳':{'工体':{'5号线','号线' , '号线'},'安贞','健翔桥'......}}

对应的url: {'朝阳':{'工体':{'5号线'}}}

参数:

——  r-朝阳

——  b-工体

——  w-5号线

组装参数: '板块', '地铁', '标题', '位置', '平米', '户型', '楼层', '总价', '单位平米价格']

四、分配任务,并行抓取

对任务列表进行分片,设置进程池,并行抓取。

通过设置进程池并行抓取,时间缩短为单进程抓取时间的3/1,总计时间3h。

电脑为4核,经过测试,任务数为3时,在当前电脑运行效率最高。

五、将抓取结果存储到excel中,等待可视化数据化处理

附上源码

总结:

当抓取数据规模越大,对程序逻辑要求就愈严谨,对python语法要求就越熟练。如何写出更加pythonic的语法,也需要不断学习掌握的。

标签: 并行 python

本文链接地址:https://www.jiuchutong.com/biancheng/382436.html 转载请保留说明!

上一篇:从零开始学Python第八周:详解网络编程基础(socket)(从零开始学公文写作)

下一篇:通过Python爬虫代理IP快速增加博客阅读量(python爬虫代码怎么写)

  • 二手车没有发票能过户吗
  • 审计助理是做什么工作的
  • 机票行程单上没有日期怎么回事
  • 收购票怎么做会计分录
  • 加油发票样式图
  • 收到投资款怎么做账
  • 暂估入库可以跨年吗
  • 优惠办法
  • 预算管理如何做好管理会计这一工作
  • 个人所得税补交税
  • 以前年度的负债没挂账怎么办
  • 企业清算时卖了车怎么办
  • 稳岗补贴计入哪个科目
  • 营改增租赁服务有哪些
  • 收到供应商开具什么发票
  • 超市积分礼品
  • 不动产经营租赁属于现代服务吗
  • 增值税(滞纳金)
  • 研发失败的项目可以加计扣除吗
  • 更换银行印鉴需要本人吗
  • 企业咨询费可以抵扣吗
  • 一年期电子银行承兑汇票
  • 老总来公司视察
  • 金蝶如何结转折旧费用的操作步骤
  • 个税缴纳期数填1是什么意思
  • 封装windows10
  • linux怎么设置
  • 商誉减值可以避税吗
  • 劳务公司发放农民工工资要开发票吗?
  • mce是什么文件格式
  • macOSCatalina10.15.5Beta4值得升级吗 macOSCatalina10.15.5Beta4更新了什么
  • 威尼斯海滩滑板场
  • flex布局使用
  • 什么是非征期税未报
  • 垃圾清运费属于什么服务
  • php验证码扭曲效果怎么做
  • framework怎么用
  • 资产评估属于什么科目
  • 结转完工产品成本的会计分录
  • 什么是跨域以及解决方法
  • 旅行社专票开票内容的规定
  • 经销商自用车是指什么
  • rabbitmq中文手册
  • sql 覆盖索引
  • css样式居中
  • mysql集群配置
  • mysql的环境配置
  • 外购商品发放给员工 进项税额能不能抵扣
  • 向农业生产者收购的原木 进项
  • 缴纳残保金工资是实发工资还是应发工资
  • 房地产开发企业增值税税率
  • 福利费可以抵扣所得税吗
  • 纳税人及时提供信息
  • 应付职工薪酬的含义
  • 收到一张普通发票怎么做账
  • 固定资产残值怎么做账务处理
  • 资产利润率在1104哪个表
  • 承兑汇票兑现怎么填写
  • 收到对方开的红字发票怎么做账
  • 减免税款借方有利息吗
  • 进行长期股权投资的目的
  • 借贷不平衡是什么意思
  • 库存股的处理方式
  • 出售未计提完折旧的固定资产需要折扣吗
  • 报销需要发票吗?
  • 会计每月账务处理流程
  • sqlserver复制表语句
  • mysql 元组
  • vcpkgsrv.exe是什么进程
  • 如何清理注册表的垃圾文件
  • linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
  • win10正式版和专业版的区别
  • jquery滑动效果
  • jquery $each
  • JavaScript中的数据类型
  • python console不能用
  • JavaScript浏览器扩展
  • 车船税新标准计算办法
  • 白酒消费税应纳税额
  • 江苏税务局人工电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设