最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

1. 網(wǎng)頁分析

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

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

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

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

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

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

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

urllib.request是Python標(biāo)準(zhǔn)庫中的一個(gè)模塊,用于處理URLs的打開,讀取和下載。它提供了一個(gè)簡單的接口來發(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庫

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

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

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傲旋', '愛馳', '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庫區(qū)別

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

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

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

3. 更改用戶代理

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

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

首先需要安裝 BeautifulSoup 庫。

pip install BeautifulSoup4

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

soup.find()和soup.find_all() 函數(shù)可以用來查找網(wǎng)頁中特定的元素,區(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)頁內(nèi)容爬取的文章就介紹到這了,更多相關(guān)Python web網(wǎng)頁內(nèi)容爬取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

河南省| 都兰县| 洪泽县| 福建省| 句容市| 楚雄市| 溧阳市| 绵阳市| 麦盖提县| 张家界市| 宣汉县| 区。| 西吉县| 丰宁| 阜新市| 涟水县| 巴林左旗| 景德镇市| 攀枝花市| 垣曲县| 武邑县| 荃湾区| 崇明县| 临猗县| 区。| 邛崃市| 潮州市| 南安市| 高唐县| 含山县| 诸暨市| 广水市| 陵川县| 稻城县| 金湖县| 贺兰县| 和平县| 滦南县| 浦县| 和平区| 郸城县|