Python多程式抓取全國郵政編碼和長途區號
由於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 msg
time.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中文社群”微信公眾號
相關文章
- 匹配中國郵政編碼正規表示式
- 80行Python程式碼搞定全國區劃程式碼Python
- 國家郵政局:2023年雙11當日全國郵政快遞企業共攬收快遞包裹6.39億件 同比增長15.76%
- 郵箱 郵政編碼 等幾個簡單的 正則 表示式的幾個例子?
- python多工抓取圖片Python
- 郵政貨車
- 編寫正則:匹配郵箱 手機號 密碼以及身份證號密碼
- python多程式簡介,和VNPY多程式引數優化程式碼分析Python優化
- 多級編號
- “車馬很慢”的中國郵政變快了
- 國家郵政局:2018年4月郵政行業執行情況行業
- 國家郵政局:2018年2月郵政行業執行情況行業
- 中國郵政快遞報社:2019年全國快遞從業人員職業調查
- 學習編碼需要多長時間?
- python 安全編碼&程式碼審計Python
- 國家郵政局:2017年郵政行業發展統計公報行業
- 國家郵政局:2019年郵政行業執行資料情況行業
- 國家郵政局:2019年郵政行業發展統計公報行業
- 國家郵政局:2018年Q1郵政行業執行情況行業
- ==和is的區別 以及編碼和解碼
- 【Python】Python抓取分享頁面的原始碼示例Python原始碼
- python程式碼混淆與編譯Python編譯
- 英國最大郵政品牌暫停國際郵寄服務,疑似遭受網路攻擊
- 國家郵政局:2019年一季度郵政行業執行情況行業
- 一篇文章搞定Python多程式(全)Python
- python教程3.3:字元和編碼Python字元
- Python的多程式和多執行緒Python執行緒
- vue.js帳號,密碼,郵箱和移動手機號碼正則驗證Vue.js密碼
- 國家郵政局:截止2月28日郵政行業復工率達90.2%行業
- 國家郵政局:2020年9月郵政行業執行資料情況行業
- 國家郵政局:2022年2月郵政行業執行資料情況行業
- 國家郵政局:2024年雙十一全國郵政快遞企業共處理快遞包裹7.01億件 是日常業務量的151%
- 國家郵政局:2021年1-8 月郵政行業業務收入累計完成 8165.4 億元 同比增長 20.1%行業
- 國家郵政局:1-11 月郵政行業寄遞業務量累計完成 1263.1 億件 同比增長 3.1%行業
- 【python爬蟲】郵政包裹物流查詢2瑞數6加密Python爬蟲加密
- 搞定 CompletableFuture,併發非同步程式設計和編寫序列程式還有什麼區別?你們要的多圖長文非同步程式設計
- python如何換行編寫程式碼Python
- python 多程式和多執行緒學習Python執行緒