小福利,用gevent多協程高效爬取海量資料
大家好,我是天空之城,今天給大家帶來小福利,用gevent多協程高效爬取海量資料
話不多說,程式碼如下
from gevent import monkey
monkey.patch_all()
import gevent,time,requests
from bs4 import BeautifulSoup
from gevent.queue import Queue
start = time.time()
header = {
'Referer': 'https://movie.douban.com/top250?start=1&filter=',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; rv:46.0) Gecko/20100101 Firefox/46.0'}
url_list =[]
for i in range(0,225,25):
url='https://movie.douban.com/top250?start={}&filter='.format(str(i))
url_list.append(url)
work=Queue()
for url in url_list:
work.put_nowait(url)
def crawler():
while not work.empty():
url = work.get_nowait()
res = requests.get(url,headers=header)
film = res.text
#這裡的res.text就是獲取到的整個網頁的所有原始碼了,下面利用 'html.parser'模組進行網頁資料的解析
soup = BeautifulSoup(film, 'html.parser')
#首先獲取到了所有li標籤下面的<‘div’,class_="item">標籤,構成一個大的列表
items = soup.find_all("div",class_="item")
#對列表進行遍歷,獲取每一部電影的相關資訊
for item in items:
xuhao=item.find('em').text #序號
title=item.find(class_="title").text #電影名稱
pingfen=item.find(class_="rating_num").text #評分
comment=item.find(class_="inq") #評論
if comment==None:
comment=''
else:
comment = item.find(class_="inq").text # 評論
link=item.find('a')['href'] #網址
#列印一下我們獲得的資訊
print(xuhao,title,pingfen,comment,link)
task_list=[]
for x in range(5):
task=gevent.spawn(crawler)
task_list.append(task)
gevent.joinall(task_list)
獲取資料截圖如下
相關文章
- python中gevent協程庫Python
- gevent 學習筆記 —— 協程筆記
- 怎樣高效的爬取資料?
- 如何保障爬蟲高效穩定爬取資料?爬蟲
- 如何高效獲取大資料?動態ip代理:用爬蟲!大資料爬蟲
- 爬取多個頁面的資料
- 使用socket+gevent實現協程併發
- python-多工,簡易的協程gevent的安裝與使用例程Python
- 新手小白的爬蟲神器-無程式碼高效爬取資料爬蟲
- 「無程式碼」高效的爬取網頁資料神器網頁
- 房產資料爬取、智慧財產權資料爬取、企業工商資料爬取、抖音直播間資料python爬蟲爬取Python爬蟲
- Scrapy框架爬取海量妹子圖框架
- 基於協程的Python網路庫gevent介紹Python
- Gevent 排程流程解析
- HBase海量資料高效入倉解決方案
- 某網站加密返回資料加密_爬取過程網站加密
- 爬取高考資料
- [MSSQL]mssql海量高效分頁儲存過程SQL儲存過程
- 50億海量資料如何高效儲存和分析?
- oracle海量表資料刪除及清理高效方法Oracle
- 應用多級快取模式支撐海量讀服務快取模式
- 爬蟲爬取微信小程式爬蟲微信小程式
- 實現小資料量和海量資料的通用分頁顯示儲存過程儲存過程
- 每天爬取資料量多少,如何才可更高效?
- Go使用協程批次獲取資料,加快介面返回速度Go
- 社會化海量資料採集爬蟲框架搭建爬蟲框架
- 關於海量資料的獲取問題
- 海量資料的查詢快取問題快取
- 段友福利:Python爬取段友之家貼吧圖片和小視訊Python
- 啟用海量資料價值,實現生產過程最佳化
- 使用selenium進行爬取掘金前端小冊的資料前端
- 如何使用python多執行緒有效爬取大量資料?Python執行緒
- python多執行緒非同步爬蟲-Python非同步爬蟲試驗[Celery,gevent,requests]Python執行緒非同步爬蟲
- 爬蟲爬取資料如何繞開限制?爬蟲
- Puppeteer爬取網頁資料網頁
- 鬥魚彈幕資料爬取
- 同花順資料爬取
- 海量資料遷移之使用shell啟用多個動態並行並行