##map使用
map函式包含了序列操作,引數傳遞和結果儲存的的一系列操作
###匯入
from multiprocessing.dummy import pool
pool = pool(4) #表示4執行緒
results = pool.map(爬取函式,**列表)
附上簡單並行爬蟲的例子
__author__ = 'ding'
'''多執行緒使用
'''from multiprocessing.dummy import pool as threadpool
import requests
import time
def getsource(url):
html = requests.get(url)
urls =
for i in range(1, 21):
newpage = '' + str(i)
time1 = time.time()
for i in urls:
print(i)
getsource(i)
time2 = time.time()
print('單執行緒耗時:' + str(time2 - time1))
pool = threadpool(4)
time3 = time.time()
results = pool.map(getsource, urls)
pool.close()
pool.join()
time4 = time.time()
print("並行耗時:" + str(time4 - time3))
out put
單執行緒耗時:109.83350014686584
並行耗時:13.332000017166138
網路較慢所以耗時較長,但相比較而言並行效率比單執行緒要高上很多 並行爬蟲設計相關1
挑戰 2.網頁質量。每乙個處理程序,如何能過全域性的考慮網頁的質量,因為他們彼此之間不知道對方存在,所以程序間了解的網頁重要性有區域性性。3.通訊頻寬。為了解決上述問題,程序間需要通訊,然而隨著規模的加大,通訊花銷也變得異常的大。如果解決了上述問題,則並行爬蟲要比單個爬蟲更有 力 1.可擴充套件性。...
SVM的並行化
目前我在svm的並行化方面已經有解法.svm在數學上的本質是凸優化理論,可以有很多種解法。它的問題具有對偶性,從原問題出發和從對偶問題出發。傳統svm在大資料集下,它的核矩陣要占用的記憶體非常大,呈平方地遞增。也就是說1000個資料占用的記憶體會是100個資料占用的記憶體的100 倍。為了解決此問題...
使用Openmp並行化
執行命令 g fopenmp xx.cpp lgomp lpthread o xx.out 用例一 include include include void test int n printf d,n int main int argc,char ar 用例二 include include inc...