欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Python爬蟲入門教程01之爬取豆瓣Top電影

Python爬蟲入門教程01之爬取豆瓣Top電影

熱門標簽:上海企業外呼系統 河南虛擬外呼系統公司 萬利達百貨商場地圖標注 熱門電銷機器人 智能機器人電銷神器 okcc外呼系統怎么調速度 電話機器人哪里有賣 外呼電信系統 惠州龍門400電話要怎么申請

前言

本文的文字及圖片來源于網絡,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯系我們以作處理

基本開發環境

  •  Python 3.6
  • Pycharm

相關模塊的使用

  •  requests
  • parsel
  • csv

安裝Python并添加到環境變量,pip安裝需要的相關模塊即可。

爬蟲基本思路

一、明確需求

爬取豆瓣Top250排行電影信息

  • 電影名字
  • 導演、主演
  • 年份、國家、類型
  • 評分、評價人數
  • 電影簡介

 

二、發送請求

Python中的大量開源的模塊使得編碼變的特別簡單,我們寫爬蟲第一個要了解的模塊就是requests。


請求url地址,使用get請求,添加headers請求頭,模擬瀏覽器請求,網頁會給你返回response對象

# 模擬瀏覽器發送請求
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是狀態碼,表示請求成功

2xx (成功)
3xx (重定向)
4xx(請求錯誤)
5xx(服務器錯誤)

常見狀態碼

  • 200 - 服務器成功返回網頁,客戶端請求已成功。
  • 302 - 對象臨時移動。服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以后的請求。
  • 304 - 屬于重定向。自上次請求后,請求的網頁未修改過。服務器返回此響應時,不會返回網頁內容。
  • 401 - 未授權。請求要求身份驗證。 對于需要登錄的網頁,服務器可能返回此響應。
  • 404 - 未找到。服務器找不到請求的網頁。
  • 503 (服務不可用) 服務器目前無法使用(由于超載或停機維護)。

通常,這只是暫時狀態。

 三、獲取數據

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) 請求網頁返回的是response對象

response.text: 獲取網頁文本數據

response.json: 獲取網頁json數據

這兩個是用的最多的,當然還有其他的

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

四、解析數據

常用解析數據方法: 正則表達式、css選擇器、xpath、lxml…

常用解析模塊:bs4、parsel…

我們使用的是 parsel 無論是在之前的文章,還是說之后的爬蟲系列文章,我都會使用 parsel 這個解析庫,無它就是覺得它比bs4香。

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

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

所有的電影信息都包含在 li 標簽當中。

# 把 response.text 文本數據轉換成 selector 對象
selector = parsel.Selector(response.text)
# 獲取所有li標簽
lis = selector.css('.grid_view li')
# 遍歷出每個li標簽內容
for li in lis:
 # 獲取電影標題 hd 類屬性 下面的 a 標簽下面的 第一個span標簽里面的文本數據 get()輸出形式是 字符串獲取一個 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', '美國', '犯罪 劇情']
 movie_time = movie_info[0] # 電影上映時間
 movie_country = movie_info[1] # 哪個國家的電影
 movie_type = movie_info[2] # 什么類型的電影
 rating_num = li.css('.rating_num::text').get() # 電影評分
 people = li.css('.star span:nth-child(4)::text').get() # 評價人數
 summary = li.css('.inq::text').get() # 一句話概述
 dit = {
 '電影名字': title,
 '參演人員': star,
 '上映時間': movie_time,
 '拍攝國家': movie_country,
 '電影類型': movie_type,
 '電影評分': rating_num,
 '評價人數': people,
 '電影概述': summary,
 }
 # pprint 格式化輸出模塊
 pprint.pprint(dit)

以上的知識點使用到了

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

所以扎實基礎是很有必要的。不然你連代碼都不知道為什么要這樣寫。

五、保存數據(數據持久化)

常用的保存數據方法 with open

像豆瓣電影信息這樣的數據,保存到Excel表格里面會更好。

所以需要使用到 csv 模塊

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

csv_writer.writeheader() # 寫入表頭


這就是爬取了數據保存到本地了。這只是一頁的數據,爬取數據肯定不只是爬取一頁數據。想要實現多頁數據爬取,就要分析網頁數據的url地址變化規律。

可以清楚看到每頁url地址是 25 遞增的,使用for循環實現翻頁操作

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

完整實現代碼

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

csv_writer.writeheader() # 寫入表頭

# 模擬瀏覽器發送請求
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 文本數據轉換成 selector 對象
 selector = parsel.Selector(response.text)
 # 獲取所有li標簽
 lis = selector.css('.grid_view li')
 # 遍歷出每個li標簽內容
 for li in lis:
 # 獲取電影標題 hd 類屬性 下面的 a 標簽下面的 第一個span標簽里面的文本數據 get()輸出形式是 字符串獲取一個 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', '美國', '犯罪 劇情']
 movie_time = movie_info[0] # 電影上映時間
 movie_country = movie_info[1] # 哪個國家的電影
 movie_type = movie_info[2] # 什么類型的電影
 rating_num = li.css('.rating_num::text').get() # 電影評分
 people = li.css('.star span:nth-child(4)::text').get() # 評價人數
 summary = li.css('.inq::text').get() # 一句話概述
 dit = {
  '電影名字': title,
  '參演人員': star,
  '上映時間': movie_time,
  '拍攝國家': movie_country,
  '電影類型': movie_type,
  '電影評分': rating_num,
  '評價人數': people,
  '電影概述': summary,
 }
 pprint.pprint(dit)
 csv_writer.writerow(dit)

實現效果


到此這篇關于Python爬蟲入門教程01之爬取豆瓣Top電影的文章就介紹到這了,更多相關Python爬取豆瓣Top電影內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python爬蟲獲取豆瓣電影并寫入excel
  • Python爬蟲實現的根據分類爬取豆瓣電影信息功能示例
  • python爬蟲豆瓣網的模擬登錄實現
  • Python爬蟲——爬取豆瓣電影Top250代碼實例
  • 一個簡單的python爬蟲程序 爬取豆瓣熱度Top100以內的電影信息
  • Python爬蟲實戰:分析《戰狼2》豆瓣影評
  • Python制作豆瓣圖片的爬蟲
  • 實踐Python的爬蟲框架Scrapy來抓取豆瓣電影TOP250
  • 編寫Python爬蟲抓取豆瓣電影TOP100及用戶頭像的方法
  • python 開心網和豆瓣日記爬取的小爬蟲

標簽:淮安 綏化 綿陽 周口 合肥 秦皇島 周口 百色

巨人網絡通訊聲明:本文標題《Python爬蟲入門教程01之爬取豆瓣Top電影》,本文關鍵詞  Python,爬蟲,入門教程,之爬,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python爬蟲入門教程01之爬取豆瓣Top電影》相關的同類信息!
  • 本頁收集關于Python爬蟲入門教程01之爬取豆瓣Top電影的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    欧美大黄免费观看| 日韩黄色免费网站| 国产精品系列在线播放| 欧美特黄一区二区三区| 91精品蜜臀在线一区尤物| 亚洲图片欧美色图| 原创真实夫妻啪啪av| 色菇凉天天综合网| 亚洲视频在线一区| 波多野结衣精品在线| 欧美国产日韩在线观看成人| 中文文精品字幕一区二区| 国产精品一二一区| 人人干在线观看| 中文字幕精品综合| 成人深夜福利app| 国产又爽又黄网站| 亚洲欧美日韩国产中文在线| 99精品视频中文字幕| 欧美中文一区二区三区| 亚洲精品高清视频在线观看| 91亚洲精品乱码久久久久久蜜桃 | 久久九九久精品国产免费直播| 美腿丝袜亚洲综合| 黄色片网站免费| 久久精品网站免费观看| 国产成人av电影在线| 久热这里有精品| 一区二区在线免费观看| 韩国一区二区三区四区| 91精品国产综合久久精品麻豆| 蜜桃视频在线观看一区二区| 日本二区在线观看| 国产精品沙发午睡系列990531| www.综合网.com| 在线观看亚洲一区| 天堂蜜桃91精品| 性欧美一区二区| 欧美国产成人在线| 91色在线porny| 91精品国产欧美一区二区成人| 麻豆精品在线看| 欧美爱爱免费视频| 亚洲国产欧美日韩另类综合| mm131美女视频| 中文字幕精品一区二区三区精品| 中文字幕欧美视频| 欧美大片在线观看一区二区| 国产做a爰片久久毛片| 午夜写真片福利电影网| 爽爽淫人综合网网站| www亚洲色图| 亚洲色图视频网| 国产精品伦子伦| 国产欧美日产一区| 亚洲911精品成人18网站| 日韩你懂的电影在线观看| 国产91综合一区在线观看| 欧美日韩国产一二三| 精品中文av资源站在线观看| 一本久久综合亚洲鲁鲁五月天| 性欧美大战久久久久久久久| 粉嫩精品久久99综合一区| 亚洲乱码日产精品bd| 久久精品无码一区| 亚洲柠檬福利资源导航| 亚洲激情视频小说| 亚洲视频图片小说| 日韩av在线看免费观看| 亚洲婷婷综合色高清在线| 大地资源二中文在线影视观看 | 亚洲成人av一区二区| 精品日韩在线视频| 亚洲国产精品一区二区www在线| 免费看91的网站| 亚洲一区中文日韩| 国产第一页精品| 亚洲777理论| 无码黑人精品一区二区| 日韩影院免费视频| 色综合网站在线| 久久99国产乱子伦精品免费| 欧美中文字幕一区二区三区亚洲 | 91麻豆精品国产91久久久使用方法 | 2023国产精华国产精品| 91年精品国产| 国产欧美视频一区二区三区| av无码一区二区三区| 亚洲男人天堂av网| 欧美日韩国产一二三区| 日韩中文字幕1| 欧美亚洲一区三区| 国产成人综合在线观看| 日韩欧美美女一区二区三区| 无套白嫩进入乌克兰美女| 国产精品免费免费| 非洲一级黄色片| 视频一区在线播放| 欧美在线观看视频在线| 国产成人av一区二区三区在线观看| 日韩久久久精品| 国产人妖在线观看| 亚洲色图欧洲色图婷婷| 四虎影视一区二区| 人禽交欧美网站| 欧美精选在线播放| 91免费在线看| 综合色天天鬼久久鬼色| 欧美激情精品久久久久久免费 | 欧美日韩一级片在线观看| 成人激情综合网站| 国产欧美视频一区二区| 在线观看免费小视频| 免费高清不卡av| 欧美一区二区三区免费观看视频| 人妻精油按摩bd高清中文字幕| 亚洲欧美日韩国产综合| 午夜少妇久久久久久久久| 国产精品亚洲а∨天堂免在线| 精品国产乱码久久久久久久| 成人精品在线观看视频| 日韩—二三区免费观看av| 91麻豆精品国产91久久久| av天堂一区二区| 亚洲电影在线免费观看| 欧美丝袜丝nylons| 亚洲欧美激情一区二区三区| 亚洲精品五月天| 欧美性做爰猛烈叫床潮| 中文字幕第10页| 亚洲一卡二卡三卡四卡 | 成人免费的视频| 日韩毛片精品高清免费| 色综合色综合色综合| 99re在线精品| 一区二区免费在线| 欧美欧美欧美欧美首页| 无码任你躁久久久久久老妇| 天天综合日日夜夜精品| 日韩你懂的在线观看| 久久婷婷五月综合| 国产一区二区在线观看视频| 国产欧美精品一区二区色综合 | 国产精品久久久一区麻豆最新章节| 麻豆一区在线观看| 成人涩涩免费视频| 亚洲美女在线国产| 欧美日韩免费在线视频| 亚洲图片综合网| 麻豆成人久久精品二区三区小说| 久久免费美女视频| 四虎884aa成人精品| 99re热这里只有精品免费视频| 一区二区三区中文字幕电影| 欧美高清dvd| 3d动漫精品啪啪一区二区下载| 激情综合一区二区三区| 国产精品久久久久久久久动漫| 色婷婷国产精品| 熟妇高潮一区二区| 麻豆国产欧美一区二区三区| 中文幕一区二区三区久久蜜桃| 日本精品视频一区二区三区| 美女露出粉嫩尿囗让男人桶| 美国毛片一区二区| 国产精品视频麻豆| 欧美日韩亚洲国产综合| 丰满少妇一区二区| 高清成人在线观看| 亚洲综合色成人| 精品国产一区二区三区av性色| 美国一级片在线观看| 91丨porny丨国产| 麻豆91精品视频| 国产精品久久久久久久久快鸭 | 欧美日韩中文字幕一区| 性久久久久久久久久| 国产成人免费视| 亚洲二区在线视频| 国产婷婷色一区二区三区| 在线观看视频一区二区欧美日韩| 人妻熟女aⅴ一区二区三区汇编| 国产福利91精品一区| 亚洲一区二区五区| 久久久国产午夜精品| 欧美三级乱人伦电影| 欧美精品日韩在线| 又黄又色的网站| 国产精品一色哟哟哟| 亚洲电影一级黄| 国产精品不卡一区二区三区| 日韩一区二区免费视频| 亚洲国产精品免费在线观看| 久久人妻少妇嫩草av无码专区| 高清不卡在线观看av| 日日噜噜夜夜狠狠视频欧美人| 国产精品蜜臀在线观看| 日韩女同互慰一区二区| 欧美偷拍一区二区| 日韩精品久久久久久久的张开腿让 |