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

Python實(shí)現(xiàn)Up數(shù)據(jù)信息采集 <內(nèi)含JS逆向解密>

這篇具有很好參考價(jià)值的文章主要介紹了Python實(shí)現(xiàn)Up數(shù)據(jù)信息采集 <內(nèi)含JS逆向解密>。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

嗨嘍~大家好呀,這里是魔王吶 ? ~!

Python實(shí)現(xiàn)Up數(shù)據(jù)信息采集 <內(nèi)含JS逆向解密>,python爬蟲(chóng),python,javascript,開(kāi)發(fā)語(yǔ)言,pycharm,學(xué)習(xí)

環(huán)境使用:

  • python 3.8 >>> 運(yùn)行代碼

  • pycharm 2021.2 >>> 輔助敲代碼

模塊使用:

第三方模塊 需要安裝

  • import requests >>> 導(dǎo)入數(shù)據(jù)請(qǐng)求模塊

內(nèi)置模塊 你安裝好python環(huán)境就可以了

  • import datetime >>> 對(duì)日期數(shù)據(jù)進(jìn)行處理的主要模塊

  • import hashlib >>> 提供了多種安全方便的摘要方法

  • import time >>> 主要用于時(shí)間的操作和轉(zhuǎn)換

  • import csv >>> 一種通用的文件格式

第三方模塊安裝:

win + R 輸入cmd 輸入安裝命令 pip install 模塊名 (如果你覺(jué)得安裝速度比較慢, 你可以切換國(guó)內(nèi)鏡像源)

Python實(shí)現(xiàn)Up數(shù)據(jù)信息采集 <內(nèi)含JS逆向解密>,python爬蟲(chóng),python,javascript,開(kāi)發(fā)語(yǔ)言,pycharm,學(xué)習(xí)

python資料、源碼、教程\福利皆: 點(diǎn)擊此處跳轉(zhuǎn)文末名片獲取

實(shí)現(xiàn)基本流程:

一. 數(shù)據(jù)來(lái)源分析

  1. 明確需求

    • 明確采集網(wǎng)站以及數(shù)據(jù)

      數(shù)據(jù): 視頻基本信息: 標(biāo)題 播放量 評(píng)論 彈幕 上傳時(shí)間 …

  2. 抓包分析

    • 打開(kāi)開(kāi)發(fā)者工具: F12 / 右鍵點(diǎn)擊檢查選擇network

    • 點(diǎn)擊網(wǎng)頁(yè)下一頁(yè) --> XHR 第一條數(shù)據(jù)包就是我們需要的內(nèi)容

二. 代碼實(shí)現(xiàn)步驟 <固定四個(gè)大步驟>

  1. 發(fā)送請(qǐng)求, 模擬瀏覽器對(duì)于url地址發(fā)送請(qǐng)求

    請(qǐng)求鏈接: 數(shù)據(jù)包鏈接

  2. 獲取數(shù)據(jù), 獲取服務(wù)器返回響應(yīng)數(shù)據(jù)

    開(kāi)發(fā)者工具: response

  3. 解析數(shù)據(jù), 提取我們需要的數(shù)據(jù)內(nèi)容

    視頻基本信息

  4. 保存數(shù)據(jù), 把信息數(shù)據(jù)保存表格文件

Python實(shí)現(xiàn)Up數(shù)據(jù)信息采集 <內(nèi)含JS逆向解密>,python爬蟲(chóng),python,javascript,開(kāi)發(fā)語(yǔ)言,pycharm,學(xué)習(xí)

代碼展示:

導(dǎo)入模塊

import time
import requests
# 導(dǎo)入格式化輸出模塊
from pprint import pprint
import datetime
import csv
import hashlib
f = open('信息.csv', mode='w', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '標(biāo)題',
    '描述',
    'BV號(hào)',
    '播放量',
    '彈幕',
    '評(píng)論',
    '時(shí)長(zhǎng)',
    '上傳時(shí)間',
])
csv_writer.writeheader()
  • 模擬瀏覽器: headers 請(qǐng)求頭

    字典數(shù)據(jù)類型, 構(gòu)建完整鍵值對(duì)形式

  • 請(qǐng)求鏈接:

    請(qǐng)求鏈接和請(qǐng)求參數(shù)分開(kāi)寫(xiě)

    問(wèn)號(hào)前面: 請(qǐng)求鏈接

    問(wèn)號(hào)后面: 請(qǐng)求參數(shù)/查詢參數(shù)

  • 批量替換:

    1. 選擇替換內(nèi)容, ctrl+R

    2. 輸入正則命令進(jìn)行匹配替換

      (.?): (.)
      ‘$1’: ‘$2’,

模擬瀏覽器 -> 基本反反爬蟲(chóng)措施

headers = {
    # 用戶代理 表示瀏覽器基本身份信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
for page in range(1, 11):
    string = f'keyword=&mid=517327498&order=pubdate&order_avoided=true&platform=web&pn={page}&ps=30&tid=0&web_location=1550101&wts={int(time.time())}6eff17696695c344b67618ac7b114f92'

實(shí)例化對(duì)象

    md5_hash = hashlib.md5()
    md5_hash.update(string.encode('utf-8'))

請(qǐng)求鏈接

    url = 'https://api.****.com/x/space/wbi/arc/search'

請(qǐng)求參數(shù)

    data = {
        'mid': '517327498',
        'ps': '30',
        'tid': '0',
        'pn': page,
        'keyword': '',
        'order': 'pubdate',
        'platform': 'web',
        'web_location': '1550101',
        'order_avoided': 'true',
        'w_rid': md5_hash.hexdigest(),
        'wts': int(time.time()),
    }

發(fā)送請(qǐng)求 <Response [200]> 響應(yīng)對(duì)象 表示請(qǐng)求成功

    response = requests.get(url=url, params=data, headers=headers)
獲取響應(yīng)數(shù)據(jù):
 
    - response.json() 獲取響應(yīng)json數(shù)據(jù)
     
        <字典數(shù)據(jù)類型>

    - response.text 獲取響應(yīng)文本數(shù)據(jù)
      
        <網(wǎng)頁(yè)源代碼 字符串?dāng)?shù)據(jù)>

    - response.content 獲取響應(yīng)二進(jìn)制數(shù)據(jù)數(shù)據(jù)
     
        <獲取圖片/視頻/音頻/特定格式文件>    

字典數(shù)據(jù) --> 鍵值對(duì)取值
    
    根據(jù)冒號(hào)左邊的內(nèi)容[鍵], 提取冒號(hào)右邊的內(nèi)容[值]

response.json()['data']['list']['vlist'] --> 返回列表
    
    列表里面包含整個(gè)網(wǎng)頁(yè)視頻信息 <N個(gè)視頻內(nèi)容>

列表 / 字典 / 集合 / 元組 --> 數(shù)據(jù)容器 <裝東西的盒子>

    lis = [1, 2, 3, 4, 5] --> for循環(huán)遍歷, 把列表里面內(nèi)容一個(gè)一個(gè)單獨(dú)提取
for li in lis:
    # 從lis這個(gè)盒子里面, 把元素<東西> 拿出來(lái), 用li變量接收

print(index)    輸入一行效果
pprint(index)   多行展開(kāi)效果
    for index in response.json()['data']['list']['vlist']:
        # 時(shí)間戳 時(shí)間節(jié)點(diǎn) --> 上傳視頻時(shí)間點(diǎn)
        date = index['created']
        dt = datetime.datetime.fromtimestamp(date)
        dt_time = dt.strftime('%Y-%m-%d')
        dit = {
            '標(biāo)題': index['title'],
            '描述': index['description'],
            'BV號(hào)': index['bvid'],
            '播放量': index['play'],
            '彈幕': index['video_review'],
            '評(píng)論': index['comment'],
            '時(shí)長(zhǎng)': index['length'],
            '上傳時(shí)間': dt_time,
        }

寫(xiě)入數(shù)據(jù)

        csv_writer.writerow(dit)
        print(dit)

尾語(yǔ)

感謝你觀看我的文章吶~本次航班到這里就結(jié)束啦 ??

希望本篇文章有對(duì)你帶來(lái)幫助 ??,有學(xué)習(xí)到一點(diǎn)知識(shí)~

躲起來(lái)的星星??也在努力發(fā)光,你也要努力加油(讓我們一起努力叭)。

Python實(shí)現(xiàn)Up數(shù)據(jù)信息采集 <內(nèi)含JS逆向解密>,python爬蟲(chóng),python,javascript,開(kāi)發(fā)語(yǔ)言,pycharm,學(xué)習(xí)

最后,宣傳一下呀~??????更多源碼、資料、素材、解答、交流皆點(diǎn)擊下方名片獲取呀????文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-606094.html

到了這里,關(guān)于Python實(shí)現(xiàn)Up數(shù)據(jù)信息采集 <內(nèi)含JS逆向解密>的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Python批量爬取B站法外狂徒張三所有視頻【含jS逆向解密】

    Python批量爬取B站法外狂徒張三所有視頻【含jS逆向解密】

    傳說(shuō)中,有人因?yàn)橹皇沁h(yuǎn)遠(yuǎn)的看了一眼法外狂徒張三就進(jìn)去了?? 我現(xiàn)在是獲取他視頻,豈不是直接終生了?? 網(wǎng)友:趕緊跑路吧 ?? 好了話不多說(shuō),我們直接開(kāi)始今天的內(nèi)容吧! 環(huán)境使用 Python 3.8 Pycharm 模塊使用 import requests import csv import datetime import hashlib import time 爬蟲(chóng)實(shí)現(xiàn)

    2024年02月14日
    瀏覽(23)
  • 采集B站up主視頻信息

    采集B站up主視頻信息

    一、網(wǎng)頁(yè)信息(示例網(wǎng)址:https://space.bilibili.com/3493110839511225/video) 二、查看響應(yīng)數(shù)據(jù) 三、查看數(shù)據(jù)包內(nèi)容 四、相關(guān)代碼(代碼內(nèi)容未進(jìn)行翻頁(yè)爬取) 五、爬取內(nèi)容

    2024年01月21日
    瀏覽(21)
  • 為了防止這個(gè)網(wǎng)站被各位爬崩,我連夜用Python下載了上萬(wàn)張壁紙(附網(wǎng)站JS逆向解密)

    為了防止這個(gè)網(wǎng)站被各位爬崩,我連夜用Python下載了上萬(wàn)張壁紙(附網(wǎng)站JS逆向解密)

    每當(dāng)一個(gè)網(wǎng)站崩潰,在座的各位都有一定的責(zé)任。 當(dāng)一個(gè)爬蟲(chóng)教程不火的時(shí)候還好,火起來(lái)了,就到了考驗(yàn)網(wǎng)站服務(wù)器的時(shí)候了,上一次茶杯狐就是這樣,還好人家頑強(qiáng)… ? 好了話不多說(shuō),直接開(kāi)始。 首先就是必備的軟件和模塊 環(huán)境使用 ? 模塊使用 ? 前兩個(gè)是第三方模塊

    2024年02月07日
    瀏覽(23)
  • JS逆向 webpack解密

    JS逆向 webpack解密

    聲明:本文只作學(xué)習(xí)研究,禁止用于非法用途,否則后果自負(fù),如有侵權(quán),請(qǐng)告知?jiǎng)h除,謝謝! 前言:我技術(shù)可能不是很牛逼,但我很會(huì)偷懶,怎么簡(jiǎn)單怎么來(lái),所以有更好的解密方法可以在評(píng)論區(qū)評(píng)論~ 目標(biāo)網(wǎng)站:這個(gè)網(wǎng)站很坑,那個(gè)驗(yàn)證字段搜不到,XHR斷點(diǎn)也斷不到,就

    2024年02月06日
    瀏覽(24)
  • 使用Python獲取建筑網(wǎng)站數(shù)據(jù),進(jìn)行可視化分析,并實(shí)現(xiàn)網(wǎng)站JS解密!

    使用Python獲取建筑網(wǎng)站數(shù)據(jù),進(jìn)行可視化分析,并實(shí)現(xiàn)網(wǎng)站JS解密!

    哈嘍兄弟們,今天來(lái)實(shí)現(xiàn)一下建筑市場(chǎng)公共服務(wù)平臺(tái)的數(shù)據(jù)采集,順便實(shí)現(xiàn)一下網(wǎng)站的JS解密。 話不多說(shuō),我們直接開(kāi)始今天的內(nèi)容。 ? 首先我們需要準(zhǔn)備這些 環(huán)境使用 Python 3.8 Pycharm 模塊使用 requests -- pip install requests execjs -- pip install PyExecJS json 爬蟲(chóng)基本流程思路 一. 數(shù)據(jù)

    2024年02月08日
    瀏覽(21)
  • 【爬蟲(chóng)逆向案例】某道翻譯js逆向—— sign解密

    【爬蟲(chóng)逆向案例】某道翻譯js逆向—— sign解密

    聲明:本文只作學(xué)習(xí)研究,禁止用于非法用途,否則后果自負(fù),如有侵權(quán),請(qǐng)告知?jiǎng)h除,謝謝! 相信各位小伙伴在寫(xiě)爬蟲(chóng)的時(shí)候經(jīng)常會(huì)遇到這樣的情況,一些需要攜帶的參數(shù)一直在變化,今天逆向的這個(gè)網(wǎng)站某道翻譯也如此: 可以發(fā)現(xiàn)變的就兩個(gè)參數(shù),一個(gè) sign,一個(gè)是 m

    2024年02月15日
    瀏覽(22)
  • 【爬蟲(chóng)逆向案例】某易云音樂(lè)(評(píng)論)js逆向—— params、encSecKey解密

    【爬蟲(chóng)逆向案例】某易云音樂(lè)(評(píng)論)js逆向—— params、encSecKey解密

    聲明:本文只作學(xué)習(xí)研究,禁止用于非法用途,否則后果自負(fù),如有侵權(quán),請(qǐng)告知?jiǎng)h除,謝謝! 今天逆向的這個(gè)網(wǎng)站 某易云音樂(lè) 歌曲的評(píng)論列表 而要拿到評(píng)論列表爬蟲(chóng)發(fā)送的表單需要兩個(gè)參數(shù) params 和 encSecKey。這兩個(gè)玩意是加密的,所以重點(diǎn)就是怎么搞定這兩個(gè)參數(shù)。 話

    2024年02月14日
    瀏覽(23)
  • 網(wǎng)頁(yè)爬蟲(chóng)之WebPack模塊化解密(JS逆向)

    網(wǎng)頁(yè)爬蟲(chóng)之WebPack模塊化解密(JS逆向)

    WebPack打包: webpack是一個(gè)基于模塊化的打包(構(gòu)建)工具, 它把一切都視作模塊。 概念: webpack是 JavaScript 應(yīng)用程序的模塊打包器,可以把開(kāi)發(fā)中的所有資源(圖片、js文件、css文件等)都看成模塊,通過(guò)loader(加載器)和plugins(插件)對(duì)資源進(jìn)行處理,打包成符合生產(chǎn)環(huán)境部署

    2024年02月02日
    瀏覽(27)
  • JS逆向加密解密工具Crypto Magician、樂(lè)易助手、WT-JS 下載使用

    JS逆向加密解密工具Crypto Magician、樂(lè)易助手、WT-JS 下載使用

    方便開(kāi)發(fā)者更好的定位加密算法,提高了開(kāi)發(fā)的效率,必備神器; 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 下載地址:https://pan.baidu.com/s/13IxwJyIbKokpXdB4d42IOQ?pwd=chhj 消息摘要算法 對(duì)稱加密算法 非對(duì)稱加密算法 下載地址:https://pan.baidu.com/s/17ir4KJaXte1e88l7VfMs5A?pwd=mn1

    2024年02月11日
    瀏覽(26)
  • 【Python爬蟲(chóng)實(shí)戰(zhàn)】汽車城最好的十款車,第一名竟是這款車...Python教你一鍵采集二手車數(shù)據(jù)信息實(shí)現(xiàn)數(shù)據(jù)可視化展示哦~(附視頻教程)

    【Python爬蟲(chóng)實(shí)戰(zhàn)】汽車城最好的十款車,第一名竟是這款車...Python教你一鍵采集二手車數(shù)據(jù)信息實(shí)現(xiàn)數(shù)據(jù)可視化展示哦~(附視頻教程)

    駕考不易,天天早起去練車,無(wú)論烈日還是下雨,通通都在室外進(jìn)行,但想要拿證,一定要堅(jiān) 持不懈的去練車。 粉絲白嫖源碼福利,請(qǐng)移步至CSDN社區(qū)或文末公眾hao即可免費(fèi)。 小編就是在一復(fù)一日的練習(xí)中,終于得到了我人生中以為不可能考證之駕照到手了! 這不?駕照到

    2024年02月02日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包