1.多程序爬貓眼電影
下圖是爬去後的結果
在寫爬蟲的時候,資料量大的時候,所需要的時間就會很長,所以今天就來說多程序爬資料,有興趣的可以執行下面的**
# -*- coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests,re,json,random
from lxml import etree
from multiprocessing import pool
user_agent = [
"mozilla/5.0 (windows nt 6.1; wow64; rv:58.0) gecko/20100101 firefox/58.0"
]headers =
defget_html
(url):
html = requests.get(url,headers=headers).text
return html
defparse_one_html
(html):
html = etree.html(html)
for item in items:
grade = item.xpath('i/text()')[0]
image = item.xpath('a/img[2]/@data-src')[0]
name = item.xpath('a/@title')[0]
protagonist = item.xpath('div/div/div/p[2]/text()')[0]
protagonist = protagonist.strip()[3:]
# yield返回的資料格式跟dict一樣
yield
defwrite_file
(content):
with open('results.txt', "a") as f:
f.write(json.dumps(content, ensure_ascii=false) + '\n')
f.close
defmain
(page):
url = ""%page
html = get_html(url)
for i in parse_one_html(html):
print (i)
write_file(i)
if __name__ == "__main__":
pool = pool()
pool.map(main, [i+10
for i in range(10)])
Python 學習筆記 多程序爬蟲
前段時間學習了多執行緒,但在實際的情況中對於多執行緒的速度實在不滿意,所以今天就來學學多程序分布式爬蟲,在這裡感謝莫煩的python教程。在講述多程序之前,先來回顧一下之前學習的多執行緒。對於多執行緒可以簡單的理解成運輸快遞的貨車,雖然在整個運輸快遞的途中有很多貨車參與運輸,但快遞到你手中的時間並不...
python 爬蟲 多執行緒 多程序
乙個程式至少有乙個程序,乙個程序至少有乙個執行緒.資源 程序擁有獨立資源,執行緒依賴於程序,沒有獨立資源,所有該程序的執行緒共享所在程序的所有資源。劃分尺度 執行緒的劃分尺度小於程序 資源比程序少 使得多執行緒程式併發性更高。執行緒 執行緒的執行開銷小,但不利於資源的管理和儲存。程序 多個程序之間相...
Python爬蟲 非同步爬蟲(多程序和多執行緒)
非同步爬蟲 在爬蟲中使用非同步實現高效能的資料爬取操作 執行緒是程式執行的最小單位,乙個程序可以有多個執行緒。非同步爬蟲的方式 多程序,多執行緒 不建議 好處 可以為相關阻塞的操作單獨開啟程序或者執行緒,阻塞操作就可以非同步執行 繼續執行阻塞的操作之後的 弊端 無法無限制地開啟多程序或者多執行緒 程...