位置: 编程技术 - 正文

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爬虫代码怎么写)

  • 初级职称经济法目录
  • 进项税额转出就是要多交税吗
  • 税务一证通
  • 应交税费是什么类
  • 软件企业会计科目分类
  • 公司账户钱能全部转走吗
  • 单位当月未扣社保怎么处理分录?
  • 企业所得税季度预缴
  • 企业实收资本与股本区别
  • 增值税纳税申报表附列资料(三)
  • 资产负债表期末数是本年累计数吗
  • 进项税额转出忘记填在申报表里
  • 工会经费计税
  • 生产成本月末结转到本年利润里吗
  • 房屋赠与时契税的计税依据
  • 特殊销售业务包括什么
  • 知道销项税怎么算进项
  • 收取返利发票怎么开具?
  • 单位职工住周转房是否缴纳房租
  • 保证金转租金的会计处理
  • 公司卖出汽车怎样做账
  • 技术开发费税收优惠政策
  • 手写发票税率
  • 买了税控盘还需要买打印机吗
  • 关于330技术维护费
  • 2021年7月1日执行
  • 企业工资和社保缴费基数
  • 暂估入库冲回有差额
  • 购车保险属于什么费用
  • 个税扣缴端如何删除员工信息
  • 管理费用与税金的比例
  • 以前年度损益调整属于哪类科目
  • 滴滴发票开公司名称可以抵扣进项吗
  • 公司必须开基本户才能开发票吗
  • 预付款,尾款
  • 纳税申报怎么做
  • 你知道怎么安装
  • 补缴社保公积金申请书怎么写
  • php目录列表
  • controller 层
  • 工商年报的社保缴费基数怎么算
  • Joomla简单判断用户是否登录的方法
  • 酒店的销售费用和管理费用如何进行区分
  • 退票产生的费用如何报销
  • 同城票据交换差额户金额从哪得来的
  • 票据带息和不带息
  • 如何设置linux
  • 织梦相关文章调用
  • mongodb聚合函数mapreduce
  • 银行账本怎么记账
  • 应交税费在会计科目的借贷方向
  • 在建工程的土地可以查封吗
  • 一般纳税人开出去的普票可以用进项抵扣吗
  • 实收资本没有实缴,财务报表里面怎么写
  • 发票遗失复印件可以入账吗
  • 房地产行业人工成本占比
  • 非营利医疗机构是什么单位
  • sql server常规错误
  • 简述Mysql Explain 命令
  • jmeter怎么连接数据库
  • win2003系统要求
  • ubuntu系统升级命令
  • 如何查看文件系统
  • sgrmbroker.exe是什么进程
  • 升级 win10
  • win7系统还能用不
  • nilaunch.exe - nilaunch是什么进程 有什么用
  • Linux怎么添加用户
  • linux命令使用例子
  • linux配置静态
  • 作用
  • cocos2dx onpause崩
  • 有关于js构造函数的题
  • javascript语言中,以下关于array
  • android 显示图片
  • 解读高考作文
  • 小白学javascript
  • 安卓app压力测试
  • 如何在同一台电脑上投屏
  • 企业所得税的计算,收入是含税还是不含税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设