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

基于Python實現(xiàn)評論區(qū)抽獎功能詳解

 更新時間:2021年12月23日 15:32:28   作者:士別三日wyx  
這篇文章主要為大家介紹了基于Python如何實現(xiàn)評論區(qū)抽獎的功能,文章的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的朋友可以學(xué)習(xí)一下

1. 分析評論接口

首先,我們需要找到評論數(shù)據(jù)的「接口」,也就是網(wǎng)站獲取評論數(shù)據(jù)的請求。

打開一個需要抽獎的文章,進入「開發(fā)者模式」(按F12 或 右鍵檢查),選中 Network 選項,同時「刷新」文章頁面,使其重新發(fā)送請求,在右側(cè)工具欄中觀察頁面發(fā)送的請求,逐個分析請求,根據(jù)響應(yīng)內(nèi)容判斷出獲取評論的請求

在 Headers 欄中可以查看完整「請求」

https://blog.csdn.net/phoenix/web/v1/comment/list/121888905?page=1&size=3&commentId=

2. 獲取評論數(shù)據(jù)

有了接口以后,我們使用 requests 模塊發(fā)送請求,獲取評論的數(shù)據(jù)

注意請求中的兩個參數(shù): page 和 size

1.page 表示第幾頁,此處傳 1 即可

2.size 表示每頁顯示幾條數(shù)據(jù),此處傳 100 (有幾條評論就寫幾)

import requests

# 評論請求連接
url = 'https://blog.csdn.net/phoenix/web/v1/comment/list/121888905?page=1&size=100&commentId='
# 請求頭
header = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
    }

# 獲取評論的請求數(shù)據(jù)(json字符串)
page = requests.get(url, headers=header)
print(page.text)

3. 篩選評論用戶

nickName 字段保存評論用戶名稱,我們將獲取到的數(shù)據(jù)根據(jù) ,分隔成數(shù)組,再篩選出包含 nickName 的數(shù)據(jù),即可獲取所有評論用戶的名稱,核心代碼如下

titles = page.text.split(',')  # 獲取每一個字段
names = []  # 存放評論者名稱的數(shù)組
for t in titles:
    # 獲取所有評論者字段
    if 'nickName' in t and '"nickName":"士別三日wyx"' not in t:
        name = t[12:len(t)-1]  # 截取評論者名稱
        names.append(name)  # 添加評論者名稱至數(shù)組
print(names)

除了上面的方式外,也可使用正則表達(dá)式來匹配用戶的名稱,核心代碼如下

# 獲取所有評論者名稱
names = re.findall('nickName":"([^"]*)",', page.text)
pond = []  # 獎池
for name in names:
    if '士別三日wyx' not in name:
        pond.append(name)  # 將參與者放入獎池

4. 抽取幸運觀眾

使用 random.choice 函數(shù)生成隨機用戶,作為幸運觀眾,核心代碼如下

# 隨機生成幸運觀眾
star = random.choice(pond)
print('參與抽獎人數(shù): %d' % len(pond))
print('幸運觀眾:%s' % star)

5. 完整源碼

5.1 字符串截取的方式

使用「截取字符串」的方式篩選數(shù)據(jù),精確度較高,適用于絕大部分場景

import requests
import random

# 評論請求連接
url = 'https://blog.csdn.net/phoenix/web/v1/comment/list/121888905?page=1&size=100&commentId='
# 請求頭
header = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
    }

# 獲取評論的請求數(shù)據(jù)(json字符串)
page = requests.get(url, headers=header)
titles = page.text.split(',')  # 獲取每一個字段
names = []  # 存放評論者名稱的數(shù)組
for t in titles:
    # 獲取所有評論者字段
    if 'nickName' in t and '"nickName":"士別三日wyx"' not in t:
        name = t[12:len(t)-1]  # 截取評論者名稱
        names.append(name)  # 添加評論者名稱至數(shù)組

# 隨機生成幸運觀眾
star = random.choice(pond)
print('參與抽獎人數(shù): %d' % len(names))
print('幸運觀眾:%s' % star)

5.2 正則匹配方式

使用「正則匹配」的方式篩選數(shù)據(jù),有一定誤差(用戶名中不能包含 " )

import requests
import random
import re

# 評論請求連接
url = 'https://blog.csdn.net/phoenix/web/v1/comment/list/121888905?page=1&size=100&commentId='
# 請求頭
header = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
    }

# 獲取評論的請求數(shù)據(jù)(json字符串)
page = requests.get(url, headers=header)
# 獲取所有評論者名稱
names = re.findall('nickName":"([^"]*)",', page.text)
pond = []  # 獎池
for name in names:
    if '士別三日wyx' not in name:
        pond.append(name)  # 將參與者放入獎池

# 隨機生成幸運觀眾
star = random.choice(pond)
print('參與抽獎人數(shù): %d' % len(pond))
print('幸運觀眾:%s' % star)

5.3 執(zhí)行結(jié)果

測試結(jié)果1

E:\data\PrCharm\pythonProject\venv\Scripts\python.exe E:/data/PrCharm/pythonProject/award.py

參與抽獎人數(shù): 15

幸運觀眾:Willing 卡卡

Process finished with exit code 0

測試結(jié)果2?

E:\data\PrCharm\pythonProject\venv\Scripts\python.exe E:/data/PrCharm/pythonProject/award.py

參與抽獎人數(shù): 15

幸運觀眾:小輝_Super

Process finished with exit code 0

以上就是基于Python實現(xiàn)評論區(qū)抽獎功能詳解的詳細(xì)內(nèi)容,更多關(guān)于Python評論區(qū)抽獎功能的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python做簡單的字符串匹配詳解

    Python做簡單的字符串匹配詳解

    這篇文章主要介紹了Python做簡單的字符串匹配詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • python檢測服務(wù)器端口代碼實例

    python檢測服務(wù)器端口代碼實例

    這篇文章主要介紹了python檢測服務(wù)器端口代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Kali Linux安裝ipython2 和 ipython3的方法

    Kali Linux安裝ipython2 和 ipython3的方法

    今天小編就為大家分享一篇Kali Linux安裝ipython2 和 ipython3的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python實現(xiàn)簡單的索引排序與搜索功能

    Python實現(xiàn)簡單的索引排序與搜索功能

    這篇文章主要介紹了Python實現(xiàn)簡單的索引排序與搜索功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Django中cookie的基本使用方法示例

    Django中cookie的基本使用方法示例

    這篇文章主要給大家介紹了關(guān)于Django中cookie的基本使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • Python+Django在windows下的開發(fā)環(huán)境配置圖解

    Python+Django在windows下的開發(fā)環(huán)境配置圖解

    Python+Django在windows下的開發(fā)環(huán)境配置圖解教程,需要的朋友可以參考下。
    2009-11-11
  • 解決pycharm啟動后總是不停的updating indices...indexing的問題

    解決pycharm啟動后總是不停的updating indices...indexing的問題

    今天小編就為大家分享一篇解決pycharm啟動后總是不停的updating indices...indexing的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python實現(xiàn)堆排序的實例講解

    python實現(xiàn)堆排序的實例講解

    在本篇文章里小編給大家分享的是一篇關(guān)于python實現(xiàn)堆排序的實例講解內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。
    2020-02-02
  • Python如何調(diào)用外部系統(tǒng)命令

    Python如何調(diào)用外部系統(tǒng)命令

    這篇文章主要介紹了Python如何調(diào)用外部系統(tǒng)命令,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 基于Python實現(xiàn)視頻的人臉融合功能

    基于Python實現(xiàn)視頻的人臉融合功能

    這篇文章主要介紹了用Python快速實現(xiàn)視頻的人臉融合功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論