成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Python音樂爬蟲完美繞過反爬

Python音樂爬蟲完美繞過反爬

熱門標簽:湛江智能外呼系統(tǒng)廠家 外呼并發(fā)線路 百度地圖標注沒有了 ai電話機器人哪里好 地圖標注審核表 宿遷星美防封電銷卡 長沙高頻外呼系統(tǒng)原理是什么 ai電銷機器人源碼 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢

前言

大家好,我叫善念。

這是我的第二篇博客,也是第一篇技術(shù)博客,希望大家多多支持,讓我更加有動力去更新一些python爬蟲類的案例教程。

開始

確立目標網(wǎng)址:點擊進入

進入到跳轉(zhuǎn)頁面:

可以看到出現(xiàn)了咱們需要的一些音樂

分析(x0)

這些音樂的源文件地址是否在咱們的網(wǎng)頁元素中,然后再查看網(wǎng)頁源代碼中是否有咱們需要的內(nèi)容。(注:網(wǎng)頁元素與網(wǎng)頁源代碼不一定是一樣的,網(wǎng)頁元素是經(jīng)過瀏覽器渲染后的源代碼,而源代碼純粹就是服務(wù)器給咱們傳送過來的原始數(shù)據(jù))

網(wǎng)頁元素中只有封面圖片的資源,沒用音頻源文件地址:

網(wǎng)頁源代碼中同樣沒有咱們需要的內(nèi)容:

分析(x1)

其實沒有才正常(這種大型網(wǎng)站的數(shù)據(jù)不會讓你這么輕易抓?。?...不過是帶大家走一遍流程,對別的網(wǎng)站也要這樣分析

那么咱們開始播放音樂抓包,看是否能抓到數(shù)據(jù):

果然是經(jīng)過觸發(fā)播放按鈕后,服務(wù)器傳給咱們客戶端的。(ajax)

而咱們抓到的這個源文件地址

除了這兩段外,其它的應(yīng)該都是固定死的。

分析(x2)

那么我假設(shè)這兩段是從我開始訪問這首歌曲頁面的時候生成的,比如后面那串數(shù)字為這首音樂在服務(wù)器數(shù)據(jù)庫中的對應(yīng)的一個ID值呢?

假設(shè)是合理的,不過由于咱們前面已經(jīng)查看過源代碼和網(wǎng)頁元素中找不到這些值,我就不在這里浪費時間了。

分析(x3)

這里我和大家講一下,咱們向服務(wù)器發(fā)送一個網(wǎng)址請求,服務(wù)器給咱們返回的可不止一個數(shù)據(jù)包,一般都是N個數(shù)據(jù)包。當我們看到源代碼中沒有時候,也許它正悄悄地通過Ajax傳給我們了?

Ajax在網(wǎng)上有很多的解釋,但是大家未必能理解。從服務(wù)器獲得源代碼數(shù)據(jù),然后通過瀏覽器渲染執(zhí)行JavaScript獲得一些數(shù)據(jù)(音樂)。

這樣說大家應(yīng)該就懂了,那么咱們開始抓當前頁面的包:

Ajax異步請求的數(shù)據(jù),都會在XHR中。所以直接篩選就好了。這個包我已經(jīng)抓到了,get請求然后看下返回的值。

果然就是這個包數(shù)據(jù)都是對應(yīng)的,然后打開看看里面是否有音樂源文件地址:

并沒有,但是有一個rid出現(xiàn)了兩次。

分析(x4)

那么它是否是咱們音樂的ID(索引)值?

接著看下面的包:

這個get請求很關(guān)鍵,它的參數(shù)中利用到了咱們的rid這個值

而他返回值里正好有咱們的音樂源文件地址:

通過分析獲取到音樂

通過咱們的分析,已經(jīng)可以理清思路了。

首先抓取這個包獲取到rid

然后傳遞rid進行這個包的請求獲取到音樂文件地址

JavaScript繞過之參數(shù)冗余

可以看到這個rid獲取的地址中有key值是url編碼很輕松就可以解碼:

import requests
keywords = '%E5%BE%80%E4%BA%8B%E9%9A%8F%E9%A3%8E'
print(requests.utils.unquote(keywords))
# 往事隨風

而pn=1意思就是第一頁嘛,30就是這一頁總共30條音樂數(shù)據(jù)咯,1代表狀態(tài)碼請求成功,而最后reqId這個值如何獲取呢?

有能力的自己去逆向JavaScript,而咱們這里直接把這里的參數(shù)都刪除掉,同樣可以訪問到咱們的rid,為什么呢?

當你訪問百度的時候

可以看到多余了很多你看不懂的參數(shù),而這些參數(shù)實際上可以直接刪除掉!

結(jié)果是一樣的,這個就叫參數(shù)冗余。

CSRF攻擊與防御

當咱們直接訪問這個鏈接確出現(xiàn)這樣的畫面?

而咱們?nèi)绻颜埱箢^全部放到咱們的pycharm中利用Python模擬發(fā)送請求卻可以成功(自行測試)

可以看到請求中有一個參數(shù)叫csrf,這個叫做防跨站點攻擊。

這個就好理解了,當我們用瀏覽器直接訪問的話,盡管可以帶cookies,但是咱們是沒法攜帶這個參數(shù)的。而當我們把請求頭完整的復(fù)制在pycharm中Python運行的話,就可以攜帶這個參數(shù),那么就可以訪問。

目的就是保護此api防止任意情況下都可以隨便訪問。

而這個csrf參數(shù)不就是咱們cookies中的值么?那么是不是咱們首先需要獲取cookies?因為cookies會過期阿,為了讓你的程序永久有效,那么最好的辦法就是自動獲取cookies

總結(jié)

那么所有的原理都可以搞清楚了

首先訪問首頁獲取cookies,然后繞過JavaScript刪除多余的參數(shù)獲取到rid,最后通過rid進行訪問獲取到音樂源地址(這里的參數(shù)也可以刪除),最后保存數(shù)據(jù)!

全程干貨,分析網(wǎng)站反扒手段,Python采集整站任意音樂!

代碼

"""
author: 善念
date: 2021-04-12
"""
import requests
import jsonpath
from urllib.request import urlretrieve
import urllib.parse
 
 
def get_csrf():
    # 保持cookies 維持客戶端與服務(wù)器之間的會話
 
    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        # 'Cookie': 'Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1618229629; _ga=GA1.2.1951895595.1618229638; _gid=GA1.2.369506281.1618229638; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1618230532; kw_token=ZOMA0RIOLV',
        'Host': 'www.kuwo.cn',
        'Pragma': 'no-cache',
        'Upgrade-Insecure-Requests': '1',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36',
    }
    s.get('http://www.kuwo.cn/', headers=headers)
 
    url = f'http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key={keyword}pn=1rn=30httpsStatus=1reqId=a3b6cb30-9b8a-11eb-bc04-b33703ed2ebb'
    headers = {
        'Accept': 'application/json, text/plain, */*',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        # 'Cookie': 'Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1618229629; _ga=GA1.2.1951895595.1618229638; _gid=GA1.2.369506281.1618229638; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1618229710; kw_token=UTBATXE1HY',
        'csrf': s.cookies.get_dict()['kw_token'],
        'Host': 'www.kuwo.cn',
        'Pragma': 'no-cache',
        'Referer': f'http://www.kuwo.cn/search/list?key={keyword}',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36',
 
 
    }
    r = s.get(url, headers=headers)
    print(r.text)
    rid = jsonpath.jsonpath(r.json(), '$..rid')[0]
    print(rid)
    return rid
 
 
def get_music_url(rid):
    url = f'http://www.kuwo.cn/url?format=mp3rid={rid}response=urltype=convert_url3br=128kmp3from=webhttpsStatus=1'
    headers = {
        'Accept': 'application/json, text/plain, */*',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        # 'Cookie': 'Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1618231398; _ga=GA1.2.52993118.1618231399; _gid=GA1.2.889494894.1618231399; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1618231413; _gat=1; kw_token=VBM6N1XEG4P',
        'Host': 'www.kuwo.cn',
        'Pragma': 'no-cache',
        'Referer': f'http://www.kuwo.cn/search/list?key={keyword}',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36',
    }
    music_url = s.get(url, headers=headers).json().get('url')
    print(music_url)
    return music_url
 
 
def get_music(music_url):
    urlretrieve(music_url, f'{urllib.parse.unquote(keyword)}'+'.mp3')
 
 
def go():
    rid = get_csrf()
    music_url = get_music_url(rid)
    get_music(music_url)
 
 
if __name__ == '__main__':
    s = requests.session()
    keyword = input('請輸入您要下載的音樂名字:')
    keyword = urllib.parse.quote(keyword)
    go()
 
 

到此這篇關(guān)于Python音樂爬蟲完美繞過反爬的文章就介紹到這了,更多相關(guān)Python爬取音樂內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python基于爬蟲實現(xiàn)全網(wǎng)搜索并下載音樂
  • python實現(xiàn)可下載音樂的音樂播放器
  • 如何基于Python批量下載音樂
  • python爬取網(wǎng)易云音樂熱歌榜實例代碼
  • python打開音樂文件的實例方法
  • python給視頻添加背景音樂并改變音量的具體方法
  • python中加背景音樂如何操作
  • 基于python實現(xiàn)音樂播放器代碼實例
  • Python如何爬取qq音樂歌詞到本地
  • python實現(xiàn)音樂播放和下載小程序功能
  • 如何用Python一次性下載抖音上音樂

標簽:盤錦 寧夏 漯河 南平 普洱 林芝 大同 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python音樂爬蟲完美繞過反爬》,本文關(guān)鍵詞  Python,音樂,爬蟲,完美,繞過,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python音樂爬蟲完美繞過反爬》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python音樂爬蟲完美繞過反爬的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    jjzzjjzz欧美69巨大| 北条麻妃av高潮尖叫在线观看| 99久久国产综合色|国产精品| 国产三级免费观看| 亚洲第一福利专区| 一本色道久久综合亚洲aⅴ蜜桃| 国产www在线| 中文字幕精品在线观看| 欧美亚洲系列| 国产探花在线看| 国产日韩欧美一区二区三区在线观看| 欧美激情1区2区| 日本vs亚洲vs韩国一区三区| 国产人妻精品久久久久野外| 肉色欧美久久久久久久免费看| 日韩在线观看视频免费| 性做爰过程免费播放| 成年人在线观看网站| 香港三级经典全部种子下载| 色94色欧美sute亚洲线路二| 中文字幕人妻熟女在线| 欧美 日韩 国产 一区二区三区| 91精品国产乱码久久| 欧美三级特黄| 成年人在线免费观看视频网站| 成人网欧美在线视频| 亚洲第一久久影院| 成人美女视频| 亚洲另类激情图| 国产精品乱码久久久久久| 可以在线看的av网站| 国产高清不卡二三区| 牛人盗摄一区二区三区视频| 国产在线拍揄自揄拍| 水蜜桃久久夜色精品一区的特点| 日韩毛片在线一区二区毛片| 欧美成人性色生活仑片| a毛片在线看免费观看| 91久久精品国产91性色| 91免费看`日韩一区二区| 精品国产乱码久久久久久郑州公司| 一级片久久久久| a毛片不卡免费看片| 亚洲欧美成人一区| 色姑娘综合av| 午夜在线观看视频网站| 任我爽精品视频在线播放| 一区二区动漫| 国产精品麻豆| 久久久久伊人| 欧美爆操老女人| 日日爽夜夜爽| 奇米视频888| 日韩中文字幕欧美| 婷婷综合激情| 天堂在线看视频| 亚洲欧洲免费视频| 精品久久久久久中文字幕动漫| 自拍偷在线精品自拍偷无码专区| 亚洲va在线观看| 精品国产免费av| 性网站在线观看| 国产z一区二区三区| 97在线视频人妻无码| 激情懂色av一区av二区av| www.com亚洲| 一道精品视频一区二区三区图片| www.久久久久久久久| 岛国电影中文在线| 国产精品入口夜色视频大尺度| 九色porny自拍| 日本久久中文字幕| 蜜桃视频一日韩欧美专区| 精品人妻一区二区免费视频| 久久在线观看免费| 在线成人性视频| 欧美日韩在线直播| 动漫av一区二区三区| 污污的视频免费| av男人天堂一区| 亚洲第一在线| 五月天激情开心网| 国产丝袜美女| 欧美激情国产精品免费| 午夜精品福利一区二区三区av| 青柠在线影院观看日本| 丁香花在线电影小说观看| 日韩中文字幕视频在线| 456国产精品| 九色丨porny丨| 国产精品无码乱伦| 久草视频国产| 美日韩免费视频| 韩国福利在线| 免费视频久久久| 免费观看性欧美大片无片| 日本一二三四区视频| 狠狠躁天天躁日日躁欧美| 中文字幕成人| 国产日韩在线免费| 2021中文字幕一区亚洲| 99tv成人| 午夜在线观看91| www.cao超碰| 一区二区三区蜜桃网| 国产精品www| 亚州福利视频| 浮力国产第一页| 中文字幕一区二区三区域| 综合激情一区| 久久精品久久精品| 国产精品久久久久久久久久辛辛| 高清免费成人av| 一二三四视频在线社区中文字幕2| 国产九色视频| 成人h视频在线观看播放| 网站一区二区三区| 日本黄色片在线播放| jizzjizz亚洲| 成年在线观看视频| 日本三级久久久| 精品国产午夜福利在线观看| 天天草天天草| 国产在线精品一区二区中文| 最新不卡av| 亚洲精品v天堂中文字幕| 上原亚衣加勒比在线播放| 91麻豆精品秘密入口| 久久一二三区| 国产精品第6页| 蜜桃av乱码一区二区三区| 丁香婷婷综合激情| 亚洲精品国产欧美在线观看| 午夜视频你懂的| 98视频精品全部国产| 亚洲视频tv| 黄色欧美网站| 欧美性bbwbbwbbwhd| 国产在线观看精品一区二区三区| 成人高清在线视频| 在线看成人短视频| 精品国产网站地址| 国产三级午夜理伦三级| www.美女亚洲精品| 国产精品高颜值在线观看| 国产精品在线看| 欧美涩涩网站| 国产69精品久久久久9| 欧美日本韩国一区二区三区| 岛国中文字幕在线| 成年人在线视频免费观看| 欧洲美女和动交zoz0z| 日本久久亚洲电影| 久草在线成人| 一二三不卡视频| 精品亚洲一区二区三区在线观看| av在线播放中文字幕| 日韩精品人妻中文字幕有码| 日韩电影在线观看电影| 国产a级片免费看| 中文字幕区一区二区三| 一本一本久久a久久综合精品| 日韩国产一级片| 日韩激情美女| 成人综合一区| 4444亚洲人成无码网在线观看| 国产精品熟女一区二区不卡| 国产精品美女久久久久av福利| 日本中文字幕中出在线| 一级片免费网站| 精品视频中文字幕| 久久久精品欧美| 亚洲欧美视频在线观看视频| 亚洲精品高清视频在线观看| 国内自拍欧美激情| 99国产精品免费视频观看| 国产va免费精品观看精品视频| 国内外成人在线视频| 日韩电影免费| 狠狠躁狠狠躁视频专区| 日本亚洲欧美在线| 青春娱乐分类视频精品2动漫| 草莓视频一区| 精品久久久久香蕉网| 8050国产精品久久久久久| 正在播放一区二区三区| 狠狠躁狠狠躁视频专区| 91麻豆精品秘密| 日韩精品水蜜桃| 亚洲黄色片网站| 三级成人黄色影院| 91精品综合| 高清国产午夜精品久久久久久| 91精品人妻一区二区三区蜜桃2| 午夜免费高清视频| 国产又黄又猛的视频| wwwwwww色| 91视频最新地址| 91国偷自产一区二区三区观看| 欧美一区二区三区在线播放| 国产精品亚洲一区二区三区在线观看| 亚洲精品成人a8198a| 国产精品色午夜在线观看| 黄色成人在线观看网站| 69p69国产精品| 久热这里有精品| 丰满爆乳一区二区三区| 天堂网www在线观看| 狠狠人妻久久久久久综合| 国产一级片免费在线观看| 浮力影院网站午夜| 精品176二区| 国产系列第一页| 国产精品网址在线| 久久婷婷一区| 男女全黄做爰文章| h视频在线免费观看| 韩国三级与黑人| 麻豆传媒在线观看| 老司机亚洲精品| 国产传媒av在线| 欧美激情1区| 亚洲妇女屁股眼交7| 国产精品国产a级| 精品国产乱码久久| 91精品国产91久久久久久最新| 国产午夜精品视频一区二区三区| 国产一区二区福利| 久久精品久久精品久久| yw3121.龙物视频永不失联| 久久中文资源| 色综合久久六月婷婷中文字幕| 国产人妻精品午夜福利免费| 欧美日韩国产美| 亚洲欧美一区二区不卡| 久久精品在线观看| 日本特级黄色片| av在线亚洲一区| 国产精品亚洲一区二区无码| 四虎精品一区二区三区| 免费在线看黄色| 一区二区三区在线资源| 625成人欧美午夜电影| 亚洲国产精品视频在线观看| 国产原创一区二区三区| 大地资源二中文在线影视观看| 欧美黄色性生活| 亚洲最大福利视频网站| 成人晚上爱看视频| 国产日韩av在线播放| 国产91在线免费| 欧美日韩你懂得| 中文字幕日韩高清在线| 哺乳挤奶一区二区三区免费看| 日韩大片在线永久免费观看网站| 2020国产精品小视频| 五月天电影免费在线观看一区| 麻豆视频观看网址久久| 国内外成人在线| 久久艳片www.17c.com| 国产高清不卡无码视频| 欧美高清xxxx性| www.亚洲国产| 精品视频www| 欧美裸体xxxx极品少妇| 日本久久91av| 凸凹人妻人人澡人人添| 亚洲精品久久久一区二区三区| 国产视频一二三区| 国产成人精品三级麻豆| 美女张开让男人捅| 在线免费av观看| 成人免费直播在线| av免费观看久久| 日本成人在线一区| 欧美日韩三级一区二区| 天天摸天天碰天天爽天天弄| 久久国产精品99久久人人澡| 国产精品每日更新在线播放网址| 久久亚洲国产成人精品性色| 国产精品一区二区三区免费视频| 免费观看久久久4p| 欧美精品三级在线观看| 免费看欧美女人艹b| 亚洲欧美日韩在线不卡| 亚洲国产日韩欧美综合久久| 成人动漫在线免费观看| 国产美女福利视频| 欧美亚洲一区三区| 久久精品国产精品亚洲综合| 欧美精品精品一区| 国产精品爽爽久久久久久| 天天综合一区| 在线观看国产亚洲| 国产不卡视频在线播放| 亚洲综合色网站| 91高潮精品免费porn| 亚洲精品国产精品国| 亚洲国产精品黑人久久久| 大陆一级毛片免费观看| 国产精品丝袜xxxxxxx| 日韩视频在线免费观看| 中文字幕日韩欧美精品在线观看| 美女扒开腿让男人桶爽久久软| 亚洲风情亚aⅴ在线发布| 日韩在线观看网站| 天天干,天天干| 国产精品久久久久久9999| 97视频热人人精品免费| 成人18视频免费69| 91麻豆一区二区| 日本一区二区视频在线| 精品国产乱码久久久久久郑州公司| 久久99精品国产自在现线| 亚洲熟女综合色一区二区三区| 在线观看日韩一区| 一个人看的www视频在线免费观看| 在线免费观看日韩视频| 中文一区在线| 欧美一区二区激情视频| 成人免费看吃奶视频网站| 欧美大片免费高清观看| 无线免费在线视频| 中文字幕观看在线| 日韩男女性生活视频| 99精品1区2区| 国产白丝精品91爽爽久久| 亚洲欧美激情视频在线观看一区二区三区|