由于Python设计的限制(就是咱们常用的CPython)最多只能用满1个CPU核心。Python提供了非常好用的多进程包multiprocessing,你只需要定义一个函数,Python会替你完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。使用进程池可以让你跑满多核CPU,而且使用方法非常简单。

Show You The Code:

import multiprocessing
import time
def func(msg):for i in xrange(3):print msgtime.sleep(1)return "done " + msg
if __name__ == "__main__":pool = multiprocessing.Pool(processes=4)result = []for i in xrange(10):msg = "hello %d" %(i)result.append(pool.apply_async(func, (msg, )))pool.close()pool.join()for res in result:print res.get()print "Sub-process(es) done."

processes=4是最多并发进程数量,使用Pool,还需要关注每个进程的执行结果。下面以多进程抓取全国邮政编码和长途区号为例。目标站点:http://www.ip138.com


使用以下语句导入多线程模块:

from multiprocessing.dummy import Pool as ThreadPool

multiprocessing包是Python中的多进程管理包,这个模块表示像线程一样管理进程,这个是multiprocessing的核心,它与threading很相似,对多核CPU的利用率会比threading好的多。Pool类可以提供指定数量的进程供用户调用,当有新的请求提交到Pool中时,如果池还没有满,就会创建一个新的进程来执行请求。如果池满,请求就会告知先等待,直到池中有进程结束,才会创建新的进程来执行这些请求。

Pool类中的map方法,与内置的map函数用法行为基本一致,它会使进程阻塞直到返回结果。虽然第二个参数是一个迭代器,但在实际使用中,必须在整个队列都就绪后,程序才会运行子进程。map函数用法如下:

map(func, iterable[, chunksize=None])

获取文本内容:

对邮政编码进行解析:

获取全国邮编结果如下:

原文发布时间为:2016-10-28本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号

Python多进程抓取全国邮政编码和长途区号相关推荐

  1. python+ BeautifulSoup抓取“全国行政区划信息查询平台”的省市区信息

    全国行政区划信息查询平台地址:http://xzqh.mca.gov.cn/map 检查网页源码: 检查网页源码可以发现: 所有省级信息全部在javaScript下的json中,会在页面加载时加载js ...

  2. 结束 txt进程_Python多进程抓取拉钩网十万数据

    转载:Python多进程抓取拉钩网十万数据 准备 安装Mongodb数据库 其实不是一定要使用MongoDB,大家完全可以使用MySQL或者Redis,全看大家喜好.这篇文章我们的例子是Mongodb ...

  3. Python爬虫小记(2) :抓取全国各省市疫情实时数据 绘制2019-nCoV疫情地图

     2021/07/15更新:         没有及时看到评论区反馈的问题,属实抱歉,拉下代码看了一下应该是Pyecharts中Map的data_pair数据类型发生了变化,现将dic_items转化 ...

  4. python获取子进程返回值_Python 从subprocess运行的子进程中实时获取输出的例子 Python如何抓取程序的输出?...

    关于python中用subprocess调用exe子进程的问题不懂我的人有什么资格对我指指点点,不了解我的人凭什么对我说三道四的. python杀死子进程后继续执行后面程序 程序a(python写成) ...

  5. Python 多线程抓取网页 牛人 use raw socket implement http request great

    Python 多线程抓取网页 - 糖拌咸鱼 - 博客园 Python 多线程抓取网页 最近,一直在做网络爬虫相关的东西. 看了一下开源C++写的larbin爬虫,仔细阅读了里面的设计思想和一些关键技术 ...

  6. python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...

    python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07

  7. python爬虫招聘-Python爬虫抓取智联招聘(基础版)

    原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...

  8. Python学习教程:Python爬虫抓取技术的门道

    Python学习教程:Python爬虫抓取技术的门道 web是一个开放的平台,这也奠定了web从90年代初诞生直至今日将近30年来蓬勃的发展.然而,正所谓成也萧何败也萧何,开放的特性.搜索引擎以及简单 ...

  9. Python 多线程抓取网页

    Python 多线程抓取网页 - 糖拌咸鱼 - 博客园 Python 多线程抓取网页 最近,一直在做网络爬虫相关的东西. 看了一下开源C++写的larbin爬虫,仔细阅读了里面的设计思想和一些关键技术 ...

最新文章

  1. vue 循环遍历list_vue使用map代替Aarry数组循环遍历的方法
  2. 原创 | OpenAPI 标准规范
  3. java批量生成订单号_【笔记6-支付及订单模块】从0开始 独立完成企业级Java电商网站开发(服务端)...
  4. 数位屏如何去光标_iPad还是数位板屏?我该选哪个?
  5. MongoDB数据库(8.Python中使用mongodb数据库以及pymongo模块用法)
  6. RocketMq发送延迟消息
  7. Web后端学习笔记 Flask(11)Local线程隔离对象
  8. java编程求原码,补码_java语言基础(原码反码补码)
  9. Android 自定义车牌键盘
  10. PHP工具箱配置和下载
  11. 【教程】docker容器间跨宿主机通信-基于overlay
  12. pandas 中的 isin和isnotin
  13. 数据同步项目总结1-数据实时同步的要点
  14. 50部青春励志微电影致我们不朽的青春理想
  15. Unparseable date: “2019-03-27“
  16. 谷歌地图上不去了,用BIGEMAP就可以了
  17. 前端解决图片404的问题
  18. 苹果系统 macOS Mojave 10.14.4上安装 Ubuntu 18.04 双系统
  19. ​从微信后端仓库发展史谈谈单仓和多仓
  20. 测试中遇到的bug总结

热门文章

  1. MySQL关系运算和连接运算_关系数据库系统能够实现的三种基本关系运算
  2. python tk库
  3. 主成分分析二级指标权重_SPSS主成分分析|指标权重值计算真的不难!(上)
  4. Django基础(35): 全局上下文处理器(Context Processors)详解及如何自定义模板上下文处理器...
  5. 定义Mybatis拦截器动态切换postgre数据库schema
  6. 2017php免杀大马,cs 免杀 payload 绕过 360 全家桶
  7. LAUNCHER3讲解
  8. Matlab:单精度运算
  9. qt5实现国标28181视频播放客户端
  10. ArcGIS符号级别的应用