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

使用python爬取taptap網(wǎng)站游戲截圖的步驟

 更新時(shí)間:2021年05月03日 12:46:40   作者:LiuYJ1  
這篇文章主要介紹了使用python爬取taptap游戲截圖的步驟,幫助大家更好的理解和學(xué)習(xí)使用python進(jìn)行爬蟲,感興趣的朋友可以了解下

今天使用python寫了一個(gè)簡(jiǎn)單的爬蟲,用來下載taptap網(wǎng)站的游戲截圖。下面說下具體的實(shí)現(xiàn)方法。

在搜索框中搜索“原神”

打開瀏覽器的開發(fā)者選項(xiàng),從詳情按鈕里面跳轉(zhuǎn)到游戲的頁(yè)面,點(diǎn)擊詳情之后,跳轉(zhuǎn)頁(yè)面

這時(shí)候看到,瀏覽器地址:https://www.taptap.com/app/168332,tap官網(wǎng)的域名加上app/和圖一的游戲id,可以使用re模塊正則表達(dá)式模塊從接口中獲取到這個(gè)id

x_ua = 'V=1&PN=WebApp&LANG=zh_CN&VN_CODE=4&VN=0.1.0&LOC=CN&PLT=PC&DS=Android&UID=97bb961f-bf03-4c7a-8cd7-8d6d8655d9c8&DT=PC'

def search(game_name):
    """根據(jù)游戲名搜索提取出游戲id"""
    url = 'https://www.taptap.com/webapiv2/mix-search/v1/by-keyword'
    data = {
        'kw': f'{game_name}',
        'X-UA' : x_ua
        # 'X-UA': 'V=1&PN=WebApp&LANG=zh_CN&VN_CODE=4&VN=0.1.0&LOC=CN&PLT=PC&DS=Android&UID=97bb961f-bf03-4c7a-8cd7-8d6d8655d9c8&DT=PC'
    }
    r = requests.get(url=url, params=data)

    pattern = re.compile('"type":"app","identification":"app:(.+?)"', re.S)
    r1 = pattern.findall(r.text)
    #從response中提取游戲id
    return r1[0]

然后打開開發(fā)者選項(xiàng)觀察接口,可以從這個(gè)接口中獲取到游戲截圖的鏈接,

把數(shù)據(jù)json格式化一下,可以發(fā)現(xiàn)在data下,"screenshots"下的“orignal_url”就是截圖的鏈接。使用json.load轉(zhuǎn)換成字典,就可以比較方便的取出內(nèi)容了。

   url = f'https://www.taptap.com/webapiv2/app/v2/detail-by-id/{search(game_name)}'
    r = requests.get(url=url, params={'X-UA': x_ua})
    data = json.loads(r.text)
    #轉(zhuǎn)換為字典格式
    original_url = data.get('data').get('screenshots')
    #提取出截圖url

之后使用一個(gè)循環(huán)將圖片保存到本地

for i in original_url:
            time.sleep(0.5)
            game_original_url = i.get('original_url')
            print(game_original_url, type(game_original_url))
            respones = requests.get(game_original_url)
            img = respones.content
            file_name = game_original_url[-36: -4]
            screenshots = os.path.join(os.path.dirname(__file__), f'screenshots/{game_name}')
            if not os.path.exists(screenshots):
                os.makedirs(screenshots)
            file_path = os.path.join(screenshots, file_name)
            with open(file_path + '.png', 'wb') as f:
                f.write(img)

完整代碼:

import os
import requests
import json
import re
import time

x_ua = 'V=1&PN=WebApp&LANG=zh_CN&VN_CODE=4&VN=0.1.0&LOC=CN&PLT=PC&DS=Android&UID=97bb961f-bf03-4c7a-8cd7-8d6d8655d9c8&DT=PC'

def search(game_name):
    """根據(jù)游戲名搜索提取出游戲id"""
    url = 'https://www.taptap.com/webapiv2/mix-search/v1/by-keyword'
    data = {
        'kw': f'{game_name}',
        'X-UA' : x_ua
        # 'X-UA': 'V=1&PN=WebApp&LANG=zh_CN&VN_CODE=4&VN=0.1.0&LOC=CN&PLT=PC&DS=Android&UID=97bb961f-bf03-4c7a-8cd7-8d6d8655d9c8&DT=PC'
    }
    r = requests.get(url=url, params=data)

    pattern = re.compile('"type":"app","identification":"app:(.+?)"', re.S)
    r1 = pattern.findall(r.text)
    #從response中提取游戲id
    return r1[0]

def download_screenshots(game_name):
    url = f'https://www.taptap.com/webapiv2/app/v2/detail-by-id/{search(game_name)}'
    r = requests.get(url=url, params={'X-UA': x_ua})
    data = json.loads(r.text)
    #轉(zhuǎn)換為字典格式
    original_url = data.get('data').get('screenshots')
    #提取出截圖url
    try:
        for i in original_url:
            time.sleep(0.5)
            game_original_url = i.get('original_url')
            print(game_original_url, type(game_original_url))
            respones = requests.get(game_original_url)
            img = respones.content
            file_name = game_original_url[-36: -4]
            screenshots = os.path.join(os.path.dirname(__file__), f'screenshots/{game_name}')
            if not os.path.exists(screenshots):
                os.makedirs(screenshots)
            file_path = os.path.join(screenshots, file_name)
            with open(file_path + '.png', 'wb') as f:
                f.write(img)

    except:
        print('下載失敗')

if __name__ == '__main__':
    download_screenshots('lol')

以上就是使用python爬取taptap游戲截圖的步驟的詳細(xì)內(nèi)容,更多關(guān)于使用python爬取taptap游戲截圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作

    python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作

    這篇文章主要介紹了python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python 將字符串完成特定的向右移動(dòng)方法

    python 將字符串完成特定的向右移動(dòng)方法

    今天小編就為大家分享一篇python 將字符串完成特定的向右移動(dòng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • django限制匿名用戶訪問及重定向的方法實(shí)例

    django限制匿名用戶訪問及重定向的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于django限制匿名用戶訪問及重定向的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 分布式訓(xùn)練training-operator和pytorch-distributed?RANK變量不統(tǒng)一解決

    分布式訓(xùn)練training-operator和pytorch-distributed?RANK變量不統(tǒng)一解決

    這篇文章主要介紹了分布式訓(xùn)練training-operator和pytorch-distributed?RANK變量不統(tǒng)一問題的解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • python繪制雙Y軸折線圖以及單Y軸雙變量柱狀圖的實(shí)例

    python繪制雙Y軸折線圖以及單Y軸雙變量柱狀圖的實(shí)例

    今天小編就為大家分享一篇python繪制雙Y軸折線圖以及單Y軸雙變量柱狀圖的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 詳解Python中的Dict

    詳解Python中的Dict

    這篇文章主要為大家介紹了Python中的Dict,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Playwright如何自定義瀏覽器的下載和啟動(dòng)路徑

    Playwright如何自定義瀏覽器的下載和啟動(dòng)路徑

    playwright是一個(gè)非常有趣的自動(dòng)化測(cè)試工具, 支持Node.js、Python、C# 和 Java語言,下面我們就來看看如何使用Playwright進(jìn)行自定義瀏覽器的下載和啟動(dòng)路徑吧
    2025-04-04
  • Opencv-Python圖像透視變換cv2.warpPerspective的示例

    Opencv-Python圖像透視變換cv2.warpPerspective的示例

    今天小編就為大家分享一篇關(guān)于Opencv-Python圖像透視變換cv2.warpPerspective的示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Django用戶認(rèn)證系統(tǒng) Web請(qǐng)求中的認(rèn)證解析

    Django用戶認(rèn)證系統(tǒng) Web請(qǐng)求中的認(rèn)證解析

    這篇文章主要介紹了Django用戶認(rèn)證系統(tǒng) Web請(qǐng)求中的認(rèn)證解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 詳解分布式系統(tǒng)中如何用python實(shí)現(xiàn)Paxos

    詳解分布式系統(tǒng)中如何用python實(shí)現(xiàn)Paxos

    提到分布式算法,就不得不提 Paxos 算法,在過去幾十年里,它基本上是分布式共識(shí)的代 名詞,因?yàn)楫?dāng)前最常用的一批共識(shí)算法都是基于它改進(jìn)的。比如,F(xiàn)ast Paxos 算法、 Cheap Paxos 算法、Raft 算法、ZAB 協(xié)議等等。
    2021-05-05

最新評(píng)論

桂林市| 渭南市| 缙云县| 阳城县| 横峰县| 柳江县| 成都市| 延津县| 甘谷县| 大厂| 东乌珠穆沁旗| 长子县| 若尔盖县| 鹤庆县| 通江县| 安陆市| 宁夏| 屯门区| 宜兰市| 田林县| 饶平县| 临夏市| 商都县| 格尔木市| 顺昌县| 商丘市| 紫金县| 古蔺县| 文水县| 登封市| 固阳县| 广灵县| 水富县| 固始县| 拜城县| 藁城市| 土默特右旗| 卫辉市| 芦山县| 广元市| 平罗县|