多程序爬蟲

2021-08-22 19:06:29 字數 1450 閱讀 7328

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爬蟲 非同步爬蟲(多程序和多執行緒)

非同步爬蟲 在爬蟲中使用非同步實現高效能的資料爬取操作 執行緒是程式執行的最小單位,乙個程序可以有多個執行緒。非同步爬蟲的方式 多程序,多執行緒 不建議 好處 可以為相關阻塞的操作單獨開啟程序或者執行緒,阻塞操作就可以非同步執行 繼續執行阻塞的操作之後的 弊端 無法無限制地開啟多程序或者多執行緒 程...