国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息

這篇具有很好參考價值的文章主要介紹了Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

大家好,我是python222小鋒老師。

近日鋒哥又卷了一波Python實戰(zhàn)課程-批量爬取豆瓣電影排行信息,主要是鞏固下Python爬蟲基礎(chǔ)

視頻版教程:

Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息 視頻教程_嗶哩嗶哩_bilibiliPython爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息 視頻教程作者:小鋒老師官網(wǎng):www.python222.com, 視頻播放量 344、彈幕量 0、點贊數(shù) 13、投硬幣枚數(shù) 7、收藏人數(shù) 18、轉(zhuǎn)發(fā)人數(shù) 0, 視頻作者 java1234官方, 作者簡介 公眾號:java1234 微信:java9266,相關(guān)視頻:Python爬蟲實戰(zhàn)-批量爬取下載網(wǎng)易云音樂,Python爬蟲實戰(zhàn)-批量爬取美女圖片網(wǎng)下載圖片 視頻教程,這個視頻可能會得罪很多人..終極爬蟲JS逆向教程!突破反爬蟲防御的終極指南,從入門到實戰(zhàn),就沒有爬不了的網(wǎng)站!,【Python爬蟲教程】你敢學(xué)我就敢發(fā)!300集從入門到入獄(完整版)膽小勿學(xué)!全程干貨無廢話,學(xué)完即可兼職接單!,2024 一天掌握python爬蟲【基礎(chǔ)篇】 涵蓋 requests、beautifulsoup、selenium 【無廢話版】,【Python爬蟲】三分鐘教你免費下載全網(wǎng)VIP音樂,音樂一鍵下載免費聽,告別付費時代,小白也能學(xué)得會,附源碼!,【Python爬蟲】手把手教你爬取百度文庫PPT文檔,破解百度文庫收費限制,下載PPT再也沒花過錢!,【B站第一】清華大佬196小時講完的Python入門學(xué)習(xí)教程!從小白到大神!整整300集,全干貨無廢話,學(xué)完即可就業(yè)!允許白嫖??!,【2023百度文庫VIP文檔PPT免費下載】Python白嫖百度文庫付費VIP文檔,破解百度文庫收費限制,零基礎(chǔ)白嫖教程?。。?,【Python教程】一分鐘輕松實現(xiàn)觀影自由,教你用Python免費看電影,代碼可分享 | Python爬蟲教程https://www.bilibili.com/video/BV1aN411u7o5/

Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息,Python,python,爬蟲,python爬蟲,Python爬蟲,pandas,requests庫,BeautifulSoup

爬蟲目標網(wǎng)站:

https://movie.douban.com/top250

Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息,Python,python,爬蟲,python爬蟲,Python爬蟲,pandas,requests庫,BeautifulSoup

經(jīng)過分析,一共10頁,第二頁,第二頁,...,第10頁的規(guī)律是:

分頁規(guī)律 第N頁
    https://movie.douban.com/top250?start=25*(N-1)&filter=

爬取網(wǎng)頁,解析數(shù)據(jù),處理數(shù)據(jù),我們最終把數(shù)據(jù)存入Excel。

Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息,Python,python,爬蟲,python爬蟲,Python爬蟲,pandas,requests庫,BeautifulSoup

Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息,Python,python,爬蟲,python爬蟲,Python爬蟲,pandas,requests庫,BeautifulSoup

因為涉及到分頁,所以我們要對解析url,解析網(wǎng)頁,導(dǎo)出Excel代碼,進行封裝,方便復(fù)用。

解析請求,爬取網(wǎng)頁方法:

def crawl_html(url):
    """
        解析請求,爬取網(wǎng)頁
    :param url: 請求地址
    :return: 網(wǎng)頁源碼
    """
    response = requests.get(url=url, headers=headers)
    return response.text

解析網(wǎng)頁源碼方法:

def parse_html(html):
    """
        解析網(wǎng)頁源碼
    :param html: 頁面源碼
    :return: 頁面 電影對象信息列表   [ {'':''},{},{}  ]
    """
    # 實例化soup
    soup = BeautifulSoup(html, "lxml")
    # 獲取所有電影DOM
    movie_list = soup.select("ol.grid_view li")
    # print(movie_list)
    # 電影數(shù)據(jù)對象列表
    movie_data_list = []
    for movie in movie_list:
        try:
            rank = movie.select_one("div.pic em").text  # 獲取排名
            title = movie.select_one("div.info span.title").text  # 獲取電影名稱
            info = movie.select_one("div.bd p").text.strip()  # 獲取電影描述信息
            rating_num = movie.select_one("div.star span.rating_num").text  # 獲取評分
            comment_count = movie.select("div.star span")[3].text.replace("人評價", "")  # 獲取評論數(shù)
            quete_dom = movie.select_one("p.quote span.inq")
            quote = ""
            if quete_dom:
                quote = quete_dom.text
            # quote = movie.select_one("p.quote span.inq").text  # 獲取電影描述
            movie_data_list.append({
                "rank": rank,
                "title": title,
                "info": info,
                "rating_num": rating_num,
                "comment_count": comment_count,
                "quote": quote
            })
        except:
            print(movie.select_one("div.pic em").text, "異常", traceback.print_exc())
            continue
    return movie_data_list

導(dǎo)出Excel方法:借助pandas庫

def export_excel(datas):
    """
        導(dǎo)出數(shù)據(jù)到Excel
    :param datas: 數(shù)據(jù)
    :return:
    """
    df = pd.DataFrame(datas)
    df.to_excel("豆瓣電影TOP250.xlsx")

完整源碼參考:具體代碼解釋,參考帖子頂部的視頻教程。文章來源地址http://www.zghlxwxcb.cn/news/detail-753967.html

"""
    豆瓣電影 Top 250 抓取電影信息,存到excel里面
    使用requests爬取網(wǎng)頁,使用bs4解析數(shù)據(jù),使用pandas將數(shù)據(jù)寫入Excel
    目標網(wǎng)頁:https://movie.douban.com/top250
    分頁規(guī)律 第N頁
    https://movie.douban.com/top250?start=25*(N-1)&filter=
    作者:小鋒老師
    官網(wǎng):www.python222.com
"""

import traceback
import requests
from bs4 import BeautifulSoup
import pandas as pd

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}

url = "https://movie.douban.com/top250?start=0&filter="


def crawl_html(url):
    """
        解析請求,爬取網(wǎng)頁
    :param url: 請求地址
    :return: 網(wǎng)頁源碼
    """
    response = requests.get(url=url, headers=headers)
    return response.text


def parse_html(html):
    """
        解析網(wǎng)頁源碼
    :param html: 頁面源碼
    :return: 頁面 電影對象信息列表   [ {'':''},{},{}  ]
    """
    # 實例化soup
    soup = BeautifulSoup(html, "lxml")
    # 獲取所有電影DOM
    movie_list = soup.select("ol.grid_view li")
    # print(movie_list)
    # 電影數(shù)據(jù)對象列表
    movie_data_list = []
    for movie in movie_list:
        try:
            rank = movie.select_one("div.pic em").text  # 獲取排名
            title = movie.select_one("div.info span.title").text  # 獲取電影名稱
            info = movie.select_one("div.bd p").text.strip()  # 獲取電影描述信息
            rating_num = movie.select_one("div.star span.rating_num").text  # 獲取評分
            comment_count = movie.select("div.star span")[3].text.replace("人評價", "")  # 獲取評論數(shù)
            quete_dom = movie.select_one("p.quote span.inq")
            quote = ""
            if quete_dom:
                quote = quete_dom.text
            # quote = movie.select_one("p.quote span.inq").text  # 獲取電影描述
            movie_data_list.append({
                "rank": rank,
                "title": title,
                "info": info,
                "rating_num": rating_num,
                "comment_count": comment_count,
                "quote": quote
            })
        except:
            print(movie.select_one("div.pic em").text, "異常", traceback.print_exc())
            continue
    return movie_data_list


def export_excel(datas):
    """
        導(dǎo)出數(shù)據(jù)到Excel
    :param datas: 數(shù)據(jù)
    :return:
    """
    df = pd.DataFrame(datas)
    df.to_excel("豆瓣電影TOP250.xlsx")


datas = []  # 所有電影數(shù)據(jù)
for i in range(1, 11):  # 遍歷10頁
    start = 25 * (i - 1)
    url = f"https://movie.douban.com/top250?start={start}&filter="
    print(url)
    movie_data_list = parse_html(crawl_html(url))
    datas += movie_data_list

export_excel(datas)

到了這里,關(guān)于Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 爬蟲項目實戰(zhàn):利用基于selenium框架的爬蟲模板爬取豆瓣電影Top250

    爬蟲項目實戰(zhàn):利用基于selenium框架的爬蟲模板爬取豆瓣電影Top250

    ?? Hi, I’m @貨又星 ?? I’m interested in … ?? I’m currently learning … ?? I’m looking to collaborate on … ?? How to reach me … README 目錄(持續(xù)更新中) 各種錯誤處理、爬蟲實戰(zhàn)及模板、百度智能云人臉識別、計算機視覺深度學(xué)習(xí)CNN圖像識別與分類、PaddlePaddle自然語言處理知識圖譜、

    2024年02月04日
    瀏覽(32)
  • python爬蟲小練習(xí)——爬取豆瓣電影top250

    python爬蟲小練習(xí)——爬取豆瓣電影top250

    將爬取的數(shù)據(jù)導(dǎo)入到表格中,方便人為查看。 三大功能 1,下載所有網(wǎng)頁內(nèi)容。 2,處理網(wǎng)頁中的內(nèi)容提取自己想要的數(shù)據(jù) 3,導(dǎo)入到表格中 https://www.bilibili.com/video/BV1CY411f7yh/?p=15

    2024年01月17日
    瀏覽(22)
  • Python爬蟲:一個爬取豆瓣電影人像的小案例

    Python爬蟲:一個爬取豆瓣電影人像的小案例

    從谷歌瀏覽器的開發(fā)工具進入 選擇圖片右鍵點擊檢查 翻頁之后發(fā)現(xiàn)網(wǎng)址變化的只有start數(shù)值,每次變化值為30 Python代碼 把爬取的圖片全部放到新建的文件夾中存放

    2024年02月10日
    瀏覽(88)
  • 【Python】爬蟲練習(xí)-爬取豆瓣網(wǎng)電影評論用戶的觀影習(xí)慣數(shù)據(jù)

    【Python】爬蟲練習(xí)-爬取豆瓣網(wǎng)電影評論用戶的觀影習(xí)慣數(shù)據(jù)

    目錄 前言 一、配置環(huán)境 1.1、 安裝Python 1.2、?安裝Requests庫和BeautifulSoup庫 1.3.、安裝Matplotlib 二、登錄豆瓣網(wǎng)(重點) 2.1、獲取代理 2.2、測試代理ip是否可用 2.3、設(shè)置大量請求頭隨機使用 2.4、登錄豆瓣網(wǎng) 三、爬取某一部熱門電影數(shù)據(jù) 3.1、爬取全部長、短評論 3.2、獲取用戶

    2024年02月09日
    瀏覽(27)
  • python爬蟲——爬取豆瓣top250電影數(shù)據(jù)(適合初學(xué)者)

    python爬蟲——爬取豆瓣top250電影數(shù)據(jù)(適合初學(xué)者)

    爬取豆瓣top250其實是初學(xué)者用于練習(xí)和熟悉爬蟲技能知識的簡單實戰(zhàn)項目,通過這個項目,可以讓小白對爬蟲有一個初步認識,因此,如果你已經(jīng)接觸過爬蟲有些時間了,可以跳過該項目,選擇更有挑戰(zhàn)性的實戰(zhàn)項目來提升技能。當(dāng)然,如果你是小白,這個項目就再適合不過

    2024年02月07日
    瀏覽(23)
  • 【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息

    【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息

    ?? 個人主頁 :為夢而生~ 關(guān)注我一起學(xué)習(xí)吧! ?? 專欄 :python網(wǎng)絡(luò)爬蟲從基礎(chǔ)到實戰(zhàn) 歡迎訂閱!后面的內(nèi)容會越來越有意思~ ?? 往期推薦 : ??首先,我們前面講了多篇基礎(chǔ)內(nèi)容: 【Python爬蟲開發(fā)基礎(chǔ)④】爬蟲原理 【Python爬蟲開發(fā)基礎(chǔ)⑤】HTML概述與基本標簽詳解 【P

    2024年02月12日
    瀏覽(29)
  • Python網(wǎng)頁爬蟲爬取豆瓣Top250電影數(shù)據(jù)——Xpath數(shù)據(jù)解析

    Python網(wǎng)頁爬蟲爬取豆瓣Top250電影數(shù)據(jù)——Xpath數(shù)據(jù)解析

    1.1 查看原頁面信息 首先打開豆瓣Top250電影頁面,其網(wǎng)址是:https://movie.douban.com/top250。 可以發(fā)現(xiàn),該頁面展示的電影信息有中英文電影名、導(dǎo)演、主演、上映年份、國籍、電影類型、評分等。 下滑到頁面底部,發(fā)現(xiàn)第一頁有25部電影的數(shù)據(jù),并且可以點擊頁碼數(shù)實現(xiàn)頁面跳轉(zhuǎn)

    2024年02月05日
    瀏覽(29)
  • [Python練習(xí)]使用Python爬蟲爬取豆瓣top250的電影的頁面源碼

    [Python練習(xí)]使用Python爬蟲爬取豆瓣top250的電影的頁面源碼

    在終端中輸入以下代碼(直接在cmd命令提示符中,不需要打開Python) 從豆瓣網(wǎng)提供的鏡像網(wǎng)站下載requests第三方庫 是從國外網(wǎng)站下載,速度慢甚至有時候無法下載 運行代碼之后,沒反應(yīng),無輸出結(jié)果 可以看一下返回的頁面請求狀態(tài)碼是多少: 狀態(tài)碼是 418 ,所有4開頭的狀態(tài)

    2024年01月17日
    瀏覽(23)
  • Python爬蟲——urllib_ajax的get請求爬取豆瓣電影前十頁

    Python爬蟲——urllib_ajax的get請求爬取豆瓣電影前十頁

    ajax: 就是一段js代碼,通過這段代碼,可以讓頁面發(fā)送異步的請求,或者向服務(wù)器發(fā)送一個東西,即和服務(wù)器進行交互 對于ajax: 一定會有 url,請求方法(get, post),可能有數(shù)據(jù) 一般使用 json 格式 打開豆瓣電影,F(xiàn)12打開控制臺(我這里是科幻類排行榜) 這是第一頁 第二頁 第

    2024年02月16日
    瀏覽(25)
  • 【爬蟲實戰(zhàn)】用python爬豆瓣電影《熱烈》短評

    【爬蟲實戰(zhàn)】用python爬豆瓣電影《熱烈》短評

    目錄 一、爬蟲對象-豆瓣電影短評 二、爬取結(jié)果 三、爬蟲代碼講解 三、演示視頻 四、獲取完整源碼 您好!我是@馬哥python說,一名10年程序猿。 今天分享一期爬蟲案例,爬取的目標是:豆瓣上任意一部電影的短評(注意:是短評,不是影評?。浴稛崃摇愤@部電影為例:

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包