python使用re模塊爬取豆瓣Top250電影
爬蟲(chóng)四步原理:
1.發(fā)送請(qǐng)求:requests
2.獲取相應(yīng)數(shù)據(jù):對(duì)方及其直接返回
3.解析并提取想要的數(shù)據(jù):re
4.保存提取后的數(shù)據(jù):with open()文件處理
爬蟲(chóng)三步曲:
1.發(fā)送請(qǐng)求
2.解析數(shù)據(jù)
3.保存數(shù)據(jù)
注意:豆瓣網(wǎng)頁(yè)爬蟲(chóng)必須使用請(qǐng)求頭,否則服務(wù)器不予返回?cái)?shù)據(jù)
import re import requests # 爬蟲(chóng)三部曲: # 1.獲取請(qǐng)求 def get_data(url, headers): response = requests.get(url, headers=headers) # 如果爬取的是html文本就是用.text方法獲取文本數(shù)據(jù),如果爬取的是音視頻就用.content方法獲取二進(jìn)制流數(shù)據(jù) # print(response.text) # 獲取相應(yīng)文本,比如html代碼 return response.text # 2.解析數(shù)據(jù) def parser_data(text): # re.findall("正則表達(dá)式", "過(guò)濾的文本", re.S) # 匹配模式:re.S 全局模式 data = re.findall( '<div class="item">.*?<a href="(.*?)" rel="external nofollow" >.*?<span class="title">(.*?)</span>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(.*?)人評(píng)價(jià)</span>', text, re.S) for move_info in data: yield move_info # 3.保存數(shù)據(jù) def save_data(res_list_iter): with open("豆瓣TOP250.txt", "a", encoding="utf-8") as f: for i in res_list_iter: move_page, move_title, move_score, move_evaluation = i # print(move_page, move_title, move_score, move_evaluation) str1 = f"電影名字:《{move_title}》 電影評(píng)分:{move_score} 電影評(píng)價(jià):{move_evaluation} 電影詳情頁(yè):{move_page}\n" f.write(str1) # 使用請(qǐng)求頭請(qǐng)求數(shù)據(jù) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 \ Safari/537.36' } n = 0 # 獲取10個(gè)鏈接 for i in range(10): url = f"https://movie.douban.com/top250?start={n}&filter==" n += 25 text = get_data(url, headers) res_list_iter = parser_data(text) save_data(res_list_iter)
執(zhí)行結(jié)果:
以上就是python使用re模塊爬取豆瓣Top250電影的詳細(xì)內(nèi)容,更多關(guān)于python 爬取豆瓣電影的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python爬取豆瓣電影排行榜(requests)的示例代碼
- 用Python 爬取貓眼電影數(shù)據(jù)分析《無(wú)名之輩》
- Python爬蟲(chóng)爬取電影票房數(shù)據(jù)及圖表展示操作示例
- python實(shí)現(xiàn)的爬取電影下載鏈接功能示例
- Python爬蟲(chóng)——爬取豆瓣電影Top250代碼實(shí)例
- python使用BeautifulSoup與正則表達(dá)式爬取時(shí)光網(wǎng)不同地區(qū)top100電影并對(duì)比
- python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息
- Python趣味爬蟲(chóng)之爬取愛(ài)奇藝熱門(mén)電影
相關(guān)文章
Pandas統(tǒng)計(jì)計(jì)數(shù)value_counts()的使用
本文主要介紹了Pandas統(tǒng)計(jì)計(jì)數(shù)value_counts()的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Python數(shù)據(jù)類(lèi)型之Set集合實(shí)例詳解
這篇文章主要介紹了Python數(shù)據(jù)類(lèi)型之Set集合,結(jié)合實(shí)例形式詳細(xì)分析了Python數(shù)據(jù)類(lèi)型中集合的概念、原理、創(chuàng)建、遍歷、交集、并集等相關(guān)操作技巧,需要的朋友可以參考下2019-05-05python實(shí)現(xiàn)數(shù)通設(shè)備tftp備份配置文件示例
這篇文章主要介紹了python實(shí)現(xiàn)數(shù)通設(shè)備tftp備份配置文件示例,需要的朋友可以參考下2014-04-04Pandas數(shù)據(jù)清洗函數(shù)總結(jié)
本文主要介紹了Pandas數(shù)據(jù)清洗函數(shù)總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Python中時(shí)間類(lèi)型的JSON數(shù)據(jù)轉(zhuǎn)換
在Python中,處理時(shí)間和日期數(shù)據(jù)以及與JSON數(shù)據(jù)的相互轉(zhuǎn)換是常見(jiàn)的任務(wù),本文主要為大家詳細(xì)如何在Python中處理時(shí)間類(lèi)型的JSON數(shù)據(jù)轉(zhuǎn)換,需要的小伙伴可以參考下2024-02-02Python中實(shí)現(xiàn)遠(yuǎn)程調(diào)用(RPC、RMI)簡(jiǎn)單例子
說(shuō)白了,遠(yuǎn)程調(diào)用就是將對(duì)象名、函數(shù)名、參數(shù)等傳遞給遠(yuǎn)程服務(wù)器,服務(wù)器將處理結(jié)果返回給客戶(hù)端2014-04-04python-numpy-指數(shù)分布實(shí)例詳解
今天小編就為大家分享一篇python-numpy-指數(shù)分布實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12關(guān)于python 的legend圖例,參數(shù)使用說(shuō)明
這篇文章主要介紹了關(guān)于python 的legend圖例,參數(shù)使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04