校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > Python爬蟲(chóng)入門(mén)教程01之爬取豆瓣Top電影

Python爬蟲(chóng)入門(mén)教程01之爬取豆瓣Top電影

熱門(mén)標(biāo)簽:上海企業(yè)外呼系統(tǒng) 河南虛擬外呼系統(tǒng)公司 萬(wàn)利達(dá)百貨商場(chǎng)地圖標(biāo)注 熱門(mén)電銷(xiāo)機(jī)器人 智能機(jī)器人電銷(xiāo)神器 okcc外呼系統(tǒng)怎么調(diào)速度 電話機(jī)器人哪里有賣(mài) 外呼電信系統(tǒng) 惠州龍門(mén)400電話要怎么申請(qǐng)

前言

本文的文字及圖片來(lái)源于網(wǎng)絡(luò),僅供學(xué)習(xí)、交流使用,不具有任何商業(yè)用途,如有問(wèn)題請(qǐng)及時(shí)聯(lián)系我們以作處理

基本開(kāi)發(fā)環(huán)境

  •  Python 3.6
  • Pycharm

相關(guān)模塊的使用

  •  requests
  • parsel
  • csv

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

爬蟲(chóng)基本思路

一、明確需求

爬取豆瓣Top250排行電影信息

  • 電影名字
  • 導(dǎo)演、主演
  • 年份、國(guó)家、類(lèi)型
  • 評(píng)分、評(píng)價(jià)人數(shù)
  • 電影簡(jiǎn)介

 

二、發(fā)送請(qǐng)求

Python中的大量開(kāi)源的模塊使得編碼變的特別簡(jiǎn)單,我們寫(xiě)爬蟲(chóng)第一個(gè)要了解的模塊就是requests。


請(qǐng)求url地址,使用get請(qǐng)求,添加headers請(qǐng)求頭,模擬瀏覽器請(qǐng)求,網(wǎng)頁(yè)會(huì)給你返回response對(duì)象

# 模擬瀏覽器發(fā)送請(qǐng)求
import requests
url = 'https://movie.douban.com/top250'
headers = {
 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
print(response)

200是狀態(tài)碼,表示請(qǐng)求成功

2xx (成功)
3xx (重定向)
4xx(請(qǐng)求錯(cuò)誤)
5xx(服務(wù)器錯(cuò)誤)

常見(jiàn)狀態(tài)碼

  • 200 - 服務(wù)器成功返回網(wǎng)頁(yè),客戶(hù)端請(qǐng)求已成功。
  • 302 - 對(duì)象臨時(shí)移動(dòng)。服務(wù)器目前從不同位置的網(wǎng)頁(yè)響應(yīng)請(qǐng)求,但請(qǐng)求者應(yīng)繼續(xù)使用原有位置來(lái)進(jìn)行以后的請(qǐng)求。
  • 304 - 屬于重定向。自上次請(qǐng)求后,請(qǐng)求的網(wǎng)頁(yè)未修改過(guò)。服務(wù)器返回此響應(yīng)時(shí),不會(huì)返回網(wǎng)頁(yè)內(nèi)容。
  • 401 - 未授權(quán)。請(qǐng)求要求身份驗(yàn)證。 對(duì)于需要登錄的網(wǎng)頁(yè),服務(wù)器可能返回此響應(yīng)。
  • 404 - 未找到。服務(wù)器找不到請(qǐng)求的網(wǎng)頁(yè)。
  • 503 (服務(wù)不可用) 服務(wù)器目前無(wú)法使用(由于超載或停機(jī)維護(hù))。

通常,這只是暫時(shí)狀態(tài)。

 三、獲取數(shù)據(jù)

import requests
url = 'https://movie.douban.com/top250'
headers = {
 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
print(response.text)

requests.get(url=url, headers=headers) 請(qǐng)求網(wǎng)頁(yè)返回的是response對(duì)象

response.text: 獲取網(wǎng)頁(yè)文本數(shù)據(jù)

response.json: 獲取網(wǎng)頁(yè)json數(shù)據(jù)

這兩個(gè)是用的最多的,當(dāng)然還有其他的

apparent_encoding cookies  	history
iter_lines  ok						close   
elapsed  is_permanent_redirect 	json   
raise_for_status	 connection  	encoding  
is_redirect  links   	raw   
content  headers  	iter_content  
next   reason					url

四、解析數(shù)據(jù)

常用解析數(shù)據(jù)方法: 正則表達(dá)式、css選擇器、xpath、lxml…

常用解析模塊:bs4、parsel…

我們使用的是 parsel 無(wú)論是在之前的文章,還是說(shuō)之后的爬蟲(chóng)系列文章,我都會(huì)使用 parsel 這個(gè)解析庫(kù),無(wú)它就是覺(jué)得它比bs4香。

parsel 是第三方模塊,pip install parsel 安裝即可

parsel 可以使用 css、xpath、re解析方法

所有的電影信息都包含在 li 標(biāo)簽當(dāng)中。

# 把 response.text 文本數(shù)據(jù)轉(zhuǎn)換成 selector 對(duì)象
selector = parsel.Selector(response.text)
# 獲取所有l(wèi)i標(biāo)簽
lis = selector.css('.grid_view li')
# 遍歷出每個(gè)li標(biāo)簽內(nèi)容
for li in lis:
 # 獲取電影標(biāo)題 hd 類(lèi)屬性 下面的 a 標(biāo)簽下面的 第一個(gè)span標(biāo)簽里面的文本數(shù)據(jù) get()輸出形式是 字符串獲取一個(gè) getall() 輸出形式是列表獲取所有
 title = li.css('.hd a span:nth-child(1)::text').get() # get()輸出形式是 字符串
 movie_list = li.css('.bd p:nth-child(1)::text').getall() # getall() 輸出形式是列表
 star = movie_list[0].strip().replace('\xa0\xa0\xa0', '').replace('/...', '')
 movie_info = movie_list[1].strip().split('\xa0/\xa0') # ['1994', '美國(guó)', '犯罪 劇情']
 movie_time = movie_info[0] # 電影上映時(shí)間
 movie_country = movie_info[1] # 哪個(gè)國(guó)家的電影
 movie_type = movie_info[2] # 什么類(lèi)型的電影
 rating_num = li.css('.rating_num::text').get() # 電影評(píng)分
 people = li.css('.star span:nth-child(4)::text').get() # 評(píng)價(jià)人數(shù)
 summary = li.css('.inq::text').get() # 一句話概述
 dit = {
 '電影名字': title,
 '參演人員': star,
 '上映時(shí)間': movie_time,
 '拍攝國(guó)家': movie_country,
 '電影類(lèi)型': movie_type,
 '電影評(píng)分': rating_num,
 '評(píng)價(jià)人數(shù)': people,
 '電影概述': summary,
 }
 # pprint 格式化輸出模塊
 pprint.pprint(dit)

以上的知識(shí)點(diǎn)使用到了

  • parsel 解析模塊的方法
  • for 循環(huán)
  • css 選擇器
  • 字典的創(chuàng)建
  • 列表取值
  • 字符串的方法:分割、替換等
  • pprint 格式化輸出模塊

所以扎實(shí)基礎(chǔ)是很有必要的。不然你連代碼都不知道為什么要這樣寫(xiě)。

五、保存數(shù)據(jù)(數(shù)據(jù)持久化)

常用的保存數(shù)據(jù)方法 with open

像豆瓣電影信息這樣的數(shù)據(jù),保存到Excel表格里面會(huì)更好。

所以需要使用到 csv 模塊

# csv模塊保存數(shù)據(jù)到Excel
f = open('豆瓣電影數(shù)據(jù).csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['電影名字', '參演人員', '上映時(shí)間', '拍攝國(guó)家', '電影類(lèi)型',
      '電影評(píng)分', '評(píng)價(jià)人數(shù)', '電影概述'])

csv_writer.writeheader() # 寫(xiě)入表頭


這就是爬取了數(shù)據(jù)保存到本地了。這只是一頁(yè)的數(shù)據(jù),爬取數(shù)據(jù)肯定不只是爬取一頁(yè)數(shù)據(jù)。想要實(shí)現(xiàn)多頁(yè)數(shù)據(jù)爬取,就要分析網(wǎng)頁(yè)數(shù)據(jù)的url地址變化規(guī)律。

可以清楚看到每頁(yè)url地址是 25 遞增的,使用for循環(huán)實(shí)現(xiàn)翻頁(yè)操作

for page in range(0, 251, 25):
 url = f'https://movie.douban.com/top250?start={page}filter='

完整實(shí)現(xiàn)代碼

""""""
import pprint
import requests
import parsel
import csv
'''
1、明確需求:
 爬取豆瓣Top250排行電影信息
 電影名字
 導(dǎo)演、主演
 年份、國(guó)家、類(lèi)型
 評(píng)分、評(píng)價(jià)人數(shù)
 電影簡(jiǎn)介
'''
# csv模塊保存數(shù)據(jù)到Excel
f = open('豆瓣電影數(shù)據(jù).csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['電影名字', '參演人員', '上映時(shí)間', '拍攝國(guó)家', '電影類(lèi)型',
      '電影評(píng)分', '評(píng)價(jià)人數(shù)', '電影概述'])

csv_writer.writeheader() # 寫(xiě)入表頭

# 模擬瀏覽器發(fā)送請(qǐng)求
for page in range(0, 251, 25):
 url = f'https://movie.douban.com/top250?start={page}filter='
 headers = {
 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
 }
 response = requests.get(url=url, headers=headers)
 # 把 response.text 文本數(shù)據(jù)轉(zhuǎn)換成 selector 對(duì)象
 selector = parsel.Selector(response.text)
 # 獲取所有l(wèi)i標(biāo)簽
 lis = selector.css('.grid_view li')
 # 遍歷出每個(gè)li標(biāo)簽內(nèi)容
 for li in lis:
 # 獲取電影標(biāo)題 hd 類(lèi)屬性 下面的 a 標(biāo)簽下面的 第一個(gè)span標(biāo)簽里面的文本數(shù)據(jù) get()輸出形式是 字符串獲取一個(gè) getall() 輸出形式是列表獲取所有
 title = li.css('.hd a span:nth-child(1)::text').get() # get()輸出形式是 字符串
 movie_list = li.css('.bd p:nth-child(1)::text').getall() # getall() 輸出形式是列表
 star = movie_list[0].strip().replace('\xa0\xa0\xa0', '').replace('/...', '')
 movie_info = movie_list[1].strip().split('\xa0/\xa0') # ['1994', '美國(guó)', '犯罪 劇情']
 movie_time = movie_info[0] # 電影上映時(shí)間
 movie_country = movie_info[1] # 哪個(gè)國(guó)家的電影
 movie_type = movie_info[2] # 什么類(lèi)型的電影
 rating_num = li.css('.rating_num::text').get() # 電影評(píng)分
 people = li.css('.star span:nth-child(4)::text').get() # 評(píng)價(jià)人數(shù)
 summary = li.css('.inq::text').get() # 一句話概述
 dit = {
  '電影名字': title,
  '參演人員': star,
  '上映時(shí)間': movie_time,
  '拍攝國(guó)家': movie_country,
  '電影類(lèi)型': movie_type,
  '電影評(píng)分': rating_num,
  '評(píng)價(jià)人數(shù)': people,
  '電影概述': summary,
 }
 pprint.pprint(dit)
 csv_writer.writerow(dit)

實(shí)現(xiàn)效果


到此這篇關(guān)于Python爬蟲(chóng)入門(mén)教程01之爬取豆瓣Top電影的文章就介紹到這了,更多相關(guān)Python爬取豆瓣Top電影內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python爬蟲(chóng)獲取豆瓣電影并寫(xiě)入excel
  • Python爬蟲(chóng)實(shí)現(xiàn)的根據(jù)分類(lèi)爬取豆瓣電影信息功能示例
  • python爬蟲(chóng)豆瓣網(wǎng)的模擬登錄實(shí)現(xiàn)
  • Python爬蟲(chóng)——爬取豆瓣電影Top250代碼實(shí)例
  • 一個(gè)簡(jiǎn)單的python爬蟲(chóng)程序 爬取豆瓣熱度Top100以?xún)?nèi)的電影信息
  • Python爬蟲(chóng)實(shí)戰(zhàn):分析《戰(zhàn)狼2》豆瓣影評(píng)
  • Python制作豆瓣圖片的爬蟲(chóng)
  • 實(shí)踐Python的爬蟲(chóng)框架Scrapy來(lái)抓取豆瓣電影TOP250
  • 編寫(xiě)Python爬蟲(chóng)抓取豆瓣電影TOP100及用戶(hù)頭像的方法
  • python 開(kāi)心網(wǎng)和豆瓣日記爬取的小爬蟲(chóng)

標(biāo)簽:淮安 綏化 綿陽(yáng) 周口 合肥 秦皇島 周口 百色

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python爬蟲(chóng)入門(mén)教程01之爬取豆瓣Top電影》,本文關(guān)鍵詞  Python,爬蟲(chóng),入門(mén)教程,之爬,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python爬蟲(chóng)入門(mén)教程01之爬取豆瓣Top電影》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Python爬蟲(chóng)入門(mén)教程01之爬取豆瓣Top電影的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产片一区二区| 天天影视网天天综合色在线播放| 日韩综合在线视频| 91在线看国产| 亚洲色图20p| 99精品国产视频| 日韩理论片在线| 91理论电影在线观看| 亚洲免费观看视频| 欧洲日韩一区二区三区| 亚洲乱码国产乱码精品精可以看 | 亚洲女人的天堂| 成人丝袜高跟foot| 欧美激情在线免费观看| 成人午夜激情片| 专区另类欧美日韩| 在线精品视频免费观看| 一区二区三区免费| 日韩欧美中文字幕一区| 青青草国产成人99久久| 精品久久久久久久人人人人传媒| 精品制服美女久久| 自拍偷自拍亚洲精品播放| 国产宾馆实践打屁股91| 五月激情综合色| 国产盗摄女厕一区二区三区| 久久久久久97三级| 欧美影视一区二区三区| 久久99热国产| 亚洲同性同志一二三专区| 欧美色区777第一页| 久久国产综合精品| 亚洲乱码国产乱码精品精可以看| 欧美精选午夜久久久乱码6080| 久久99久久99| 亚洲一区二区精品3399| 国产欧美一区二区三区网站| 欧美性猛交一区二区三区精品| 精品一区二区免费在线观看| 亚洲色图视频网站| 日韩欧美卡一卡二| 欧美日韩免费不卡视频一区二区三区| 风间由美一区二区av101 | 欧美日韩精品二区第二页| 国产成人av电影在线播放| 日本欧美久久久久免费播放网| 中文字幕亚洲一区二区av在线| 欧美xxxx在线观看| 欧美一区二区三区视频在线| 欧美精品精品一区| 欧美亚洲自拍偷拍| 欧美三级韩国三级日本三斤| 不卡一二三区首页| 99久久精品免费看国产 | 一区二区免费看| 一区二区日韩电影| 亚洲bt欧美bt精品| 亚洲成人动漫av| 亚洲自拍偷拍网站| 天天综合网 天天综合色| 亚洲精品中文在线| 午夜不卡av免费| 久久国产视频网| 成人aa视频在线观看| 91首页免费视频| 欧美中文字幕一二三区视频| 色成人在线视频| 91精品国产麻豆国产自产在线| 91精品黄色片免费大全| 欧美成人免费网站| 国产精品天美传媒沈樵| 亚洲.国产.中文慕字在线| 亚洲韩国精品一区| 蜜桃av噜噜一区| 91色|porny| 91麻豆精品国产自产在线观看一区 | 美女精品一区二区| 成人av网站免费| 欧美一区二区三区免费| 亚洲国产精品精华液ab| 五月激情综合网| 91麻豆视频网站| 欧美精品一区男女天堂| 国产精品久久久久久久久晋中| 亚洲国产成人91porn| 国产精品乡下勾搭老头1| 欧美亚洲动漫另类| 久久美女艺术照精彩视频福利播放| 一区二区三区四区在线播放| 久久国产精品99久久久久久老狼| 一本大道久久a久久综合婷婷| 精品日韩在线观看| 水野朝阳av一区二区三区| 91婷婷韩国欧美一区二区| 久久综合久久鬼色| 日韩va欧美va亚洲va久久| 欧美在线看片a免费观看| 国产精品国模大尺度视频| 国产成人亚洲综合a∨猫咪| 91精品国产综合久久久蜜臀粉嫩 | 久久精品久久久精品美女| 欧美日韩中文国产| 同产精品九九九| 91精品在线免费观看| 日韩经典一区二区| 日韩美女天天操| 亚洲综合激情另类小说区| 蜜桃久久久久久| 91精品国产美女浴室洗澡无遮挡| 五月激情综合色| 日韩午夜激情视频| 精品一区二区免费在线观看| 久久综合色一综合色88| 国产精品一区二区在线播放| 久久亚洲一级片| 国产福利一区二区三区| 国产欧美精品国产国产专区| 国产传媒日韩欧美成人| 国产精品萝li| 欧美午夜电影在线播放| 亚洲国产日韩综合久久精品| 欧美影院一区二区| 国产日韩欧美制服另类| 成人app软件下载大全免费| 国产精品乱码人人做人人爱| 激情综合色播激情啊| 国产性做久久久久久| 97精品超碰一区二区三区| 亚洲午夜精品在线| 欧美日韩精品欧美日韩精品一| 亚洲成人免费影院| 久久久久国产免费免费| 色哦色哦哦色天天综合| 国产精品久线观看视频| 欧美一级高清片| 国产成人精品亚洲午夜麻豆| 亚洲欧洲无码一区二区三区| 欧美日韩精品一区二区三区四区| 蜜桃视频免费观看一区| 亚洲天堂2016| 欧美大片在线观看| 成人性生交大片免费看中文网站| 国产日韩欧美一区二区三区综合| 欧美调教femdomvk| 国产精品一级片| 国产精品影音先锋| 国产精品黄色在线观看| 国内精品伊人久久久久av影院| 亚洲另类春色校园小说| 欧美精品一区二区在线播放| 色综合久久久久网| 91成人免费在线视频| 欧美三区在线观看| 日韩欧美一二区| 久久精品夜色噜噜亚洲aⅴ| 久久久国产精华| 亚洲一区视频在线| 麻豆精品一区二区综合av| 国产激情精品久久久第一区二区 | 日韩欧美一级二级三级久久久| 久久精品亚洲精品国产欧美kt∨ | 国产真实乱子伦精品视频| 色天使色偷偷av一区二区| 在线影院国内精品| 日韩欧美一区二区视频| 国产精品久久久久久久久免费樱桃| 亚洲精品免费在线观看| 国产99精品在线观看| 欧美一区二区私人影院日本| 国产精品天天看| 久久成人精品无人区| 欧美一区二区三区免费大片| 亚洲欧美色一区| 成人18视频日本| 中文字幕在线免费不卡| 久久97超碰国产精品超碰| 欧美日韩一卡二卡三卡 | 亚洲成人三级小说| 成av人片一区二区| 日本一区二区视频在线| 精品影视av免费| 欧美一区二区播放| 最新欧美精品一区二区三区| 高清视频一区二区| 国产亚洲1区2区3区| 六月丁香综合在线视频| 亚洲精品一区二区三区香蕉| 免费在线观看不卡| 日韩网站在线看片你懂的| 国产伦精品一区二区三区免费迷| 日韩一区二区电影网| 免费成人在线网站| 精品成人一区二区| 日本女人一区二区三区| 日韩精品一区二区在线| 国产美女精品一区二区三区| 欧美精品一区二| 99这里只有精品| 亚洲国产成人av好男人在线观看| 欧美理论片在线|