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

基于Python實(shí)現(xiàn)web網(wǎng)頁(yè)內(nèi)容爬取的方法

 更新時(shí)間:2024年12月25日 17:01:19   作者:酒釀小圓子~  
在日常學(xué)習(xí)和工作中,我們經(jīng)常會(huì)遇到需要爬取網(wǎng)頁(yè)內(nèi)容的需求,今天就如何基于Python實(shí)現(xiàn)web網(wǎng)頁(yè)內(nèi)容爬取進(jìn)行講解,感興趣的朋友一起看看吧

在日常學(xué)習(xí)和工作中,我們經(jīng)常會(huì)遇到需要爬取網(wǎng)頁(yè)內(nèi)容的需求,今天就如何基于Python實(shí)現(xiàn)web網(wǎng)頁(yè)內(nèi)容爬取進(jìn)行講解。

1. 網(wǎng)頁(yè)分析

用Chrome瀏覽器打開(kāi)網(wǎng)頁(yè)(https://car.yiche.com/)并進(jìn)行分析。

F12鍵打開(kāi)開(kāi)發(fā)者視圖,如下所示:

在網(wǎng)頁(yè)頁(yè)面上想要查看的頁(yè)面內(nèi)容處,點(diǎn)擊 右鍵->檢查(inspect) ,開(kāi)發(fā)者模式中會(huì)自動(dòng)選中對(duì)應(yīng)的HTML代碼。

分析發(fā)現(xiàn)車牌的名字在 name=“div”, attrs={“class”: “item-brand”}里面

2. 獲取網(wǎng)頁(yè)信息

在Python中,我們可以使用 urllib.requestrequests 這兩個(gè)庫(kù)來(lái)發(fā)送HTTP請(qǐng)求。這兩個(gè)庫(kù)都是用來(lái)處理URLs的,但是有一些區(qū)別。

2.1 使用默認(rèn)的urllib.request庫(kù)

urllib.request是Python標(biāo)準(zhǔn)庫(kù)中的一個(gè)模塊,用于處理URLs的打開(kāi),讀取和下載。它提供了一個(gè)簡(jiǎn)單的接口來(lái)發(fā)送HTTP請(qǐng)求,并可以處理響應(yīng)數(shù)據(jù)。

import urllib.request
from bs4 import BeautifulSoup
url = "https://car.yiche.com/"
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page, "html.parser")
result_list = []
# 篩選數(shù)據(jù)
tag_list = soup.find_all(name="div", attrs={"class": "item-brand"})
for tag in tag_list:
    result_list.append(tag.attrs["data-name"])
print(result_list)

2.2 使用requests庫(kù)

requests是一個(gè)第三方庫(kù),它提供了更簡(jiǎn)潔的API來(lái)發(fā)送HTTP請(qǐng)求,并處理響應(yīng)數(shù)據(jù)。使用requests庫(kù)可以更方便地發(fā)送各種類型的請(qǐng)求,如GET,POST等,并可以設(shè)置請(qǐng)求頭,傳遞參數(shù)等。

首先在環(huán)境中安裝 requests 庫(kù),命令如下:

pip install requests
from bs4 import BeautifulSoup
import requests
url = "https://car.yiche.com/"
req = requests.get(url=url)
soup = BeautifulSoup(req.content, "html.parser")
result_list = []
# 篩選數(shù)據(jù)
tag_list = soup.find_all(name="div", attrs={"class": "item-brand"})
for tag in tag_list:
    result_list.append(tag.attrs["data-name"])
print(result_list)

輸出如下:

['奧迪', '埃安', 'AITO', '阿維塔', '阿斯頓·馬丁', '阿爾法·羅密歐', 'AUDI', '阿莫迪羅', 'AUXUN傲旋', '愛(ài)馳', 'Apollo', 'ALPINA', 'Abarth', 'ABT', '阿爾特', '安凱客車', 'Aurus', 'Arash', '安徽獵豹', 'ATOM', '艾康尼克', 'ASKA', 'Alef', 'APEX', 'Agile Automotive', 'ATS', 'AKXY2', 'Alpine', 'Aspark', 'Aviar', 'AURA', 'AIM', 'Ariel', 'Aria', 'Atlis', 'Alpha Motor', 'AFEELA', 'AEHRA', 'AC Schnitzer', 'Adria', 'AZNOM', 'AEV ROBOTICS', '比亞迪', '奔馳', '本田', '寶馬', '別克', '保時(shí)捷', '北京', '奔騰', '標(biāo)致', '寶駿', '賓利', 'BAW北汽制造', '北京汽車', '布加迪', '博速', '巴菲特', '霸王龍', '奔馳卡車',.......]

2.3 urllib.request 和 requests庫(kù)區(qū)別

urllib.requestrequests 這兩個(gè)庫(kù)的主要區(qū)別如下:

  • urllib.request是Python的標(biāo)準(zhǔn)庫(kù),而requests是第三方庫(kù),需要額外安裝。
  • urllib.request是比較底層的庫(kù),需要手動(dòng)處理請(qǐng)求和響應(yīng),而requests提供了更高級(jí)的API,簡(jiǎn)化了請(qǐng)求和響應(yīng)的處理。
  • requests庫(kù)更加簡(jiǎn)潔和易于使用,并提供了更多的功能,如自動(dòng)處理重定向,會(huì)話管理等。

參考資料:python urllib.request和request的區(qū)別

3. 更改用戶代理

在使用Python進(jìn)行網(wǎng)頁(yè)爬取時(shí),許多網(wǎng)站會(huì)通過(guò)檢查HTTP請(qǐng)求頭中的User-Agent字段來(lái)識(shí)別發(fā)出請(qǐng)求的客戶端類型。設(shè)置用戶代理(User-Agent)是為了模仿真實(shí)瀏覽器的請(qǐng)求,避免被網(wǎng)站識(shí)別為自動(dòng)化工具而遭封鎖,同時(shí)確保獲取完整的網(wǎng)頁(yè)內(nèi)容,并遵守網(wǎng)站的訪問(wèn)規(guī)則。

agent = {'User-Agent': 'Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit / 531.21.10(KHTML, likeGecko) Mobile / 7B405'}
req = requests.get(url=url, headers=agent)

4. BeautifulSoup庫(kù)篩選數(shù)據(jù)

BeautifulSoup庫(kù)是一種HTML解析庫(kù),可以將HTML文檔解析成Python對(duì)象,使得開(kāi)發(fā)者可以方便地從HTML文檔中提取數(shù)據(jù)。

首先需要安裝 BeautifulSoup 庫(kù)。

pip install BeautifulSoup4

4.1 soup.find()和soup.find_all() 函數(shù)

soup.find()和soup.find_all() 函數(shù)可以用來(lái)查找網(wǎng)頁(yè)中特定的元素,區(qū)別在于:

  • soup.find()查找到一次即停止
  • soup.find_all() 可以查找到所有記錄

soup.find()和soup.find_all() 函數(shù)的使用方式可參考:Python中bs4的soup.find()和soup.find_all()用法

參考資料

到此這篇關(guān)于基于Python實(shí)現(xiàn)web網(wǎng)頁(yè)內(nèi)容爬取的文章就介紹到這了,更多相關(guān)Python web網(wǎng)頁(yè)內(nèi)容爬取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)圖形用戶界面計(jì)算器

    Python實(shí)現(xiàn)圖形用戶界面計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)圖形用戶界面計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Python使用Plotly繪制常見(jiàn)5種動(dòng)態(tài)交互式圖表

    Python使用Plotly繪制常見(jiàn)5種動(dòng)態(tài)交互式圖表

    Plotly是一個(gè)非常強(qiáng)大的開(kāi)源數(shù)據(jù)可視化框架,它通過(guò)構(gòu)建基于 HTML 的交互式圖表來(lái)顯示信息,可創(chuàng)建各種形式的精美圖表。本文將用Plotly庫(kù)繪制常見(jiàn)的五種動(dòng)態(tài)交互式圖表,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Python創(chuàng)建普通菜單示例【基于win32ui模塊】

    Python創(chuàng)建普通菜單示例【基于win32ui模塊】

    這篇文章主要介紹了Python創(chuàng)建普通菜單,結(jié)合實(shí)例形式分析了Python基于win32ui模塊創(chuàng)建普通菜單及添加菜單項(xiàng)的相關(guān)操作技巧,并附帶說(shuō)明了win32ui模塊的安裝命令,需要的朋友可以參考下
    2018-05-05
  • Python?解釋器的站點(diǎn)配置和模塊搜索路徑詳解

    Python?解釋器的站點(diǎn)配置和模塊搜索路徑詳解

    Python?解釋器的站點(diǎn)配置是指一組配置和路徑設(shè)置,用于支持特定于站點(diǎn)的定制和擴(kuò)展,這些配置和路徑信息由?Python?的內(nèi)置?site?模塊提供,這篇文章主要介紹了Python?解釋器的站點(diǎn)配置和模塊搜索路徑詳解,需要的朋友可以參考下
    2022-01-01
  • Django入門(mén)使用示例

    Django入門(mén)使用示例

    這篇文章主要介紹了Django入門(mén)使用示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python Matplotlib繪制動(dòng)畫(huà)的代碼詳解

    Python Matplotlib繪制動(dòng)畫(huà)的代碼詳解

    使用matplotlib可以很容易地創(chuàng)建動(dòng)畫(huà)框架。在本文中我們就將利用Matplotlib制作幾個(gè)簡(jiǎn)單的動(dòng)畫(huà),文中的示例代碼講講詳細(xì),感興趣的可以了解下
    2022-05-05
  • Python入門(mén)案例之找出文件中出現(xiàn)次數(shù)最多的10個(gè)單詞

    Python入門(mén)案例之找出文件中出現(xiàn)次數(shù)最多的10個(gè)單詞

    這篇文章主要為大家?guī)?lái)一個(gè)簡(jiǎn)單的Python入門(mén)案例——找出文件中出現(xiàn)次數(shù)最多的10個(gè)單詞,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-02-02
  • 使用Python讀取和寫(xiě)入JSON文件的代碼示例

    使用Python讀取和寫(xiě)入JSON文件的代碼示例

    在Python開(kāi)發(fā)中,處理JSON數(shù)據(jù)是非常常見(jiàn)的任務(wù),JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,本文給大家介紹了如何使用 Python 讀取和寫(xiě)入 JSON 文件,需要的朋友可以參考下
    2024-12-12
  • 如何用Python進(jìn)行回歸分析與相關(guān)分析

    如何用Python進(jìn)行回歸分析與相關(guān)分析

    這篇文章主要介紹了如何用Python進(jìn)行回歸分析與相關(guān)分析,這兩部分內(nèi)容會(huì)放在一起講解,文中提供了解決思路以及部分實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-03-03
  • django云端留言板實(shí)例詳解

    django云端留言板實(shí)例詳解

    這篇文章主要介紹了django云端留言板實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論