欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用代理IP爬取貓眼電影專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù)

 更新時(shí)間:2024年03月15日 09:37:13   作者:碼銀  
在編寫(xiě)爬蟲(chóng)程序的過(guò)程中,IP封鎖無(wú)疑是一個(gè)常見(jiàn)且棘手的問(wèn)題,盡管網(wǎng)絡(luò)上存在大量的免費(fèi)IP代理網(wǎng)站,但其質(zhì)量往往參差不齊,令人堪憂(yōu),本篇文章中介紹一下如何使用Python的Requests庫(kù)和BeautifulSoup庫(kù)來(lái)抓取貓眼電影網(wǎng)站上的專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù),需要的朋友可以參考下

前言 

我們?yōu)槭裁葱枰褂肐P代理服務(wù)?

在編寫(xiě)爬蟲(chóng)程序的過(guò)程中,IP封鎖無(wú)疑是一個(gè)常見(jiàn)且棘手的問(wèn)題。盡管網(wǎng)絡(luò)上存在大量的免費(fèi)IP代理網(wǎng)站,但其質(zhì)量往往參差不齊,令人堪憂(yōu)。許多代理IP的延遲過(guò)高,嚴(yán)重影響了爬蟲(chóng)的工作效率;更糟糕的是,其中不乏大量已經(jīng)失效的代理IP,使用這些IP不僅無(wú)法繞過(guò)封鎖,反而可能使爬蟲(chóng)陷入更深的困境。

本篇文章中介紹一下如何使用Python的Requests庫(kù)和BeautifulSoup庫(kù)來(lái)抓取貓眼電影網(wǎng)站上的專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù)。

正文

1、導(dǎo)包

import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt

Requests庫(kù)是一個(gè)簡(jiǎn)單易用的HTTP庫(kù),用于發(fā)送網(wǎng)絡(luò)請(qǐng)求和獲取響應(yīng)數(shù)據(jù)。BeautifulSoup庫(kù)則是一個(gè)用于解析HTML和XML文檔的Python庫(kù),可以幫助我們從網(wǎng)頁(yè)中提取所需的數(shù)據(jù)。

2、設(shè)置代理

設(shè)置代理和代理信息可以在這里獲?。?a rel="external nofollow" target="_blank">IP代理服務(wù)

# 設(shè)置代理信息
proxyHost = "www.16yun.cn"
proxyPort = "5445"
proxyUser = "your_proxy_user"
proxyPass = "your_proxy_password"
 
# 設(shè)置代理
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host": proxyHost,
    "port": proxyPort,
    "user": proxyUser,
    "pass": proxyPass,
}
proxies = {
    "http": proxyMeta,
    "https": proxyMeta,
}

3、設(shè)置請(qǐng)求頭

請(qǐng)求頭的獲取方式可以參考這篇文章:python使用請(qǐng)求頭部headers處理403錯(cuò)誤_python_腳本之家 (jb51.net)

當(dāng)然不用自己的也行哈哈 

 
# 設(shè)置請(qǐng)求頭,模擬瀏覽器訪(fǎng)問(wèn)
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}

4、發(fā)起請(qǐng)求

# 發(fā)起請(qǐng)求,獲取網(wǎng)頁(yè)內(nèi)容
url = 'https://maoyan.com/films?showType=3'
response = requests.get(url, headers=headers, proxies=proxies)  # 添加proxies參數(shù)
soup = BeautifulSoup(response.text, 'html.parser')

5、解析網(wǎng)頁(yè)內(nèi)容

# 解析網(wǎng)頁(yè)內(nèi)容,提取專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù)
movie_names = []
professional_scores = []
 
for movie in soup.find_all('div', attrs={'class': 'movie-item film-channel'}):
    movie_name = movie.find('span', attrs={'class': 'name'}).text
    score = movie.find('span', attrs={'class': 'integer'}).text + movie.find('span', attrs={'class': 'fraction'}).text
    movie_names.append(movie_name)
    professional_scores.append(score)
 
# 將數(shù)據(jù)存儲(chǔ)到DataFrame中
data = {'電影名稱(chēng)': movie_names, '專(zhuān)業(yè)評(píng)分': professional_scores}
df = pd.DataFrame(data)

6、數(shù)據(jù)可視化

# 數(shù)據(jù)可視化
plt.figure(figsize=(10, 6))
plt.bar(df['電影名稱(chēng)'], df['專(zhuān)業(yè)評(píng)分'], color='skyblue')
plt.title('貓眼電影專(zhuān)業(yè)評(píng)分排行榜')
plt.xlabel('電影名稱(chēng)')
plt.ylabel('專(zhuān)業(yè)評(píng)分')
plt.xticks(rotation=45)
plt.show()

上述代碼片段展示了如何運(yùn)用Python中的Requests庫(kù)與BeautifulSoup庫(kù),精準(zhǔn)地抓取貓眼電影網(wǎng)站上的專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù)。隨后,通過(guò)Pandas庫(kù)對(duì)數(shù)據(jù)進(jìn)行整理與分析,再借助Matplotlib庫(kù)進(jìn)行可視化呈現(xiàn)。這一數(shù)據(jù)采集、處理與可視化的完整流程。

完整代碼如下:

# 導(dǎo)入所需的庫(kù)
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
 
# 設(shè)置代理信息
proxyHost = "www.16yun.cn"
proxyPort = "5445"
proxyUser = "your_proxy_user"
proxyPass = "your_proxy_password"
 
# 設(shè)置代理
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host": proxyHost,
    "port": proxyPort,
    "user": proxyUser,
    "pass": proxyPass,
}
proxies = {
    "http": proxyMeta,
    "https": proxyMeta,
}
 
# 設(shè)置請(qǐng)求頭,模擬瀏覽器訪(fǎng)問(wèn)
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
 
# 發(fā)起請(qǐng)求,獲取網(wǎng)頁(yè)內(nèi)容
url = 'https://maoyan.com/films?showType=3'
response = requests.get(url, headers=headers, proxies=proxies)  # 添加proxies參數(shù)
soup = BeautifulSoup(response.text, 'html.parser')
 
# 解析網(wǎng)頁(yè)內(nèi)容,提取專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù)
movie_names = []
professional_scores = []
 
for movie in soup.find_all('div', attrs={'class': 'movie-item film-channel'}):
    movie_name = movie.find('span', attrs={'class': 'name'}).text
    score = movie.find('span', attrs={'class': 'integer'}).text + movie.find('span', attrs={'class': 'fraction'}).text
    movie_names.append(movie_name)
    professional_scores.append(score)
 
# 將數(shù)據(jù)存儲(chǔ)到DataFrame中
data = {'電影名稱(chēng)': movie_names, '專(zhuān)業(yè)評(píng)分': professional_scores}
df = pd.DataFrame(data)
 
# 數(shù)據(jù)可視化
plt.figure(figsize=(10, 6))
plt.bar(df['電影名稱(chēng)'], df['專(zhuān)業(yè)評(píng)分'], color='skyblue')
plt.title('貓眼電影專(zhuān)業(yè)評(píng)分排行榜')
plt.xlabel('電影名稱(chēng)')
plt.ylabel('專(zhuān)業(yè)評(píng)分')
plt.xticks(rotation=45)
plt.show()
 

當(dāng)然,如果你自己要使用的話(huà)得用自己專(zhuān)屬的IP代理信息,而且具體情況得具體分析。如果你買(mǎi)了代理IP的話(huà),不會(huì)的直接問(wèn)客服,直接給你服務(wù)的服服帖帖的。

小結(jié)

本文詳細(xì)闡述了如何利用Python爬蟲(chóng)技術(shù)從貓眼電影網(wǎng)站獲取專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù)的過(guò)程,并通過(guò)代碼實(shí)例展示了從設(shè)置代理、發(fā)起請(qǐng)求、解析網(wǎng)頁(yè)內(nèi)容到數(shù)據(jù)提取與可視化的完整流程。

首先,文章介紹了必要的庫(kù)導(dǎo)入,包括requests用于發(fā)起網(wǎng)絡(luò)請(qǐng)求,BeautifulSoup用于解析HTML頁(yè)面,pandas用于數(shù)據(jù)處理,以及matplotlib用于數(shù)據(jù)可視化。接著,通過(guò)設(shè)置代理和請(qǐng)求頭,模擬了瀏覽器訪(fǎng)問(wèn),成功繞過(guò)了可能存在的反爬蟲(chóng)機(jī)制,獲取了目標(biāo)網(wǎng)頁(yè)的內(nèi)容。

在解析網(wǎng)頁(yè)內(nèi)容方面,文章通過(guò)BeautifulSoup的find_all方法定位到包含電影信息的div元素,并提取了電影名稱(chēng)和專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù)。這些數(shù)據(jù)被存儲(chǔ)在一個(gè)列表中,為后續(xù)的數(shù)據(jù)處理和分析提供了基礎(chǔ)。

為了更直觀地展示數(shù)據(jù),文章還利用pandas庫(kù)將提取的數(shù)據(jù)轉(zhuǎn)換成了DataFrame格式,并使用matplotlib庫(kù)繪制了專(zhuān)業(yè)評(píng)分排行榜的條形圖。這不僅有助于讀者更好地理解數(shù)據(jù)分布情況,還能為后續(xù)的深入分析提供直觀的參考。

以上就是python使用代理IP爬取貓眼電影專(zhuān)業(yè)評(píng)分?jǐn)?shù)據(jù)的詳細(xì)內(nèi)容,更多關(guān)于python代理IP爬取貓眼數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決pip install psycopg2出錯(cuò)問(wèn)題

    解決pip install psycopg2出錯(cuò)問(wèn)題

    這篇文章主要介紹了解決pip install psycopg2出錯(cuò)問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • python使用opencv在Windows下調(diào)用攝像頭實(shí)現(xiàn)解析

    python使用opencv在Windows下調(diào)用攝像頭實(shí)現(xiàn)解析

    這篇文章主要介紹了python使用opencv在Windows下調(diào)用攝像頭實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 對(duì)python調(diào)用RPC接口的實(shí)例詳解

    對(duì)python調(diào)用RPC接口的實(shí)例詳解

    今天小編就為大家分享一篇對(duì)python調(diào)用RPC接口的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Flask框架 CSRF 保護(hù)實(shí)現(xiàn)方法詳解

    Flask框架 CSRF 保護(hù)實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Flask框架 CSRF 保護(hù)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Flask-WTF針對(duì)CSRF攻擊的防護(hù)相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • Python中關(guān)于文件的具體操作與介紹

    Python中關(guān)于文件的具體操作與介紹

    文件與目錄操作是編程語(yǔ)言中非常重要的功能,Python也對(duì)其提供了相應(yīng)的API支持,這篇博文就是具體介紹它們的使用方法,通讀本篇對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 詳解Django框架中用context來(lái)解析模板的方法

    詳解Django框架中用context來(lái)解析模板的方法

    這篇文章主要介紹了詳解Django框架中用context來(lái)解析模板的方法,Django是重多高人氣Python框架中最為著名的一個(gè),需要的朋友可以參考下
    2015-07-07
  • Pyhon Flask框架:第一個(gè)Flask程序

    Pyhon Flask框架:第一個(gè)Flask程序

    這篇文章主要介紹了Flask搭建虛擬環(huán)境并運(yùn)行第一個(gè)flask程序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • 解決Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的問(wèn)題

    解決Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的問(wèn)題

    這篇文章主要介紹了Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的解決辦法,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 基于Python編寫(xiě)一個(gè)監(jiān)控CPU的應(yīng)用系統(tǒng)

    基于Python編寫(xiě)一個(gè)監(jiān)控CPU的應(yīng)用系統(tǒng)

    在使用電腦辦公時(shí),有時(shí)候不知道哪些軟件或進(jìn)程會(huì)占用大量的資源,導(dǎo)致進(jìn)行其他任務(wù)時(shí)出現(xiàn)變慢、卡頓等現(xiàn)象。因此,實(shí)時(shí)監(jiān)控系統(tǒng)的資源就變得非常重要。本文用Python編寫(xiě)了一款超治愈的RunCat監(jiān)控應(yīng)用系統(tǒng),需要的可以參考一下
    2022-06-06
  • django rest framework 實(shí)現(xiàn)用戶(hù)登錄認(rèn)證詳解

    django rest framework 實(shí)現(xiàn)用戶(hù)登錄認(rèn)證詳解

    這篇文章主要介紹了django rest framework 實(shí)現(xiàn)用戶(hù)登錄認(rèn)證詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論