Python數據分析及可視化實例之多線程、進程

系列文章總目錄:Python數據分析及可視化實例目錄


1.給蟲蟲們的建議

多線程,多進程,分散式採集,

一般不建議使用,

很容易被遠程伺服器封殺,甚至擊穿底線,

當然,用在本地環境做一些處理可以隨意!

此外,免費代理池每天就那麼十來個,

還不怎麼穩定,訪問速度也比較垃圾。

最後,關於驗證碼,接入打碼平台最好,

驗證碼識別?系列文章結束時會來一發。

最後的最後,要想做到心中無碼的境界,

還的自己擼一個網站,那怕用PHP都行。

2.多線程

# encoding: utf-8n__author__ = yeayee # 2015-06nnfrom collections import dequenimport threading ,timenfrom threading import current_threadnnn# 自定義線程類nclass MyThread(threading.Thread):n def __init__(self, funcs, args, name=):n threading.Thread.__init__(self)n self.funcs = funcsn self.name = namen self.args = argsn def run(self):n self.funcs(*self.args)nnn###接下來就是爬取網頁了ndef getContent(que):n while que:n try:n url = que.popleft() # 取一個URL並將它從隊列裡面剔除n print(爬蟲編號+current_thread().name+",正在爬取:"+url)n time.sleep(10) # 為了演示效果,應用時注釋掉即可n except:n print(爬蟲掉糞坑了,稍等,接著爬!)n pass # 這特么就是錯不悔改榜樣nnque = deque()nvisited = set()nin_urls = [wx_nemoon_01,wx_nemoon_02,wx_nemoon_03,wx_nemoon_04,wx_nemoon_05,wx_nemoon_06,wx_nemoon_07]n# 初步獲取的URLSnnnfor in_url in in_urls:n get_url = http://www.baidu.com/ + in_urln que.append(get_url) # 將要採集的內頁網址加入隊列nnthread=[]nfor i in range(4):n wx_nemoon = MyThread(getContent, (que, ), name=ID + str(i))n thread.append(wx_nemoon)nfor i in range(4):n thread[i].start()nfor i in range(4):n thread[i].join()n

3.多進程

# # encoding: utf-8n__author__ = yeayee # 2015-06nnfrom multiprocessing import Poolnimport timennin_urls = [wx_nemoon_01,wx_nemoon_02,wx_nemoon_03,wx_nemoon_04,wx_nemoon_05,wx_nemoon_06,wx_nemoon_07]n# 初步獲取的URLSnnfull_urls = []nfor in_url in in_urls:n get_url = http://www.baidu.com/ + in_urln full_urls.append(get_url) # 將要採集的內頁完整網址nndef getContent(url):n try:n print(爬蟲正在爬取:+url)n time.sleep(10) # 為了演示效果,應用時注釋掉即可n except:n print(爬蟲掉糞坑了,稍等,接著爬!)n pass # 這特么就是錯不悔改榜樣nnif __name__ == __main__:n pool = Pool(4) # 4個進程n pool.map(getContent, full_urls)n pool.close()n pool.join()n

備註:再次強調慎重使用;至於線程鎖,管道傳參等自己拓展;嗯,還有非同步!

膠水語言博大精深,

本主只得一二為新人帶路,

老鳥可去另一專欄:Python中文社區

新手可查閱歷史目錄:

Python數據分析及可視化實例目錄


最後,別只收藏不關注哈

推薦閱讀:

數據採集器圈子的競品分析
【SEO】有了這個工具,數據採集抓取如此簡單,動態代理IP原來是這麼回事
八爪魚採集入門到熟練——01寫規則前的準備工作
2017年,數據採集行業發生了哪些事情
淺談一下最近使用八爪魚採集器遇到的坑(還有對比其他採集軟體和爬蟲)

TAG:数据采集 | 八爪鱼采集器 | 爬虫计算机网络 |