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

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

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

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

在搜索框中搜索“原神”

打開(kāi)瀏覽器的開(kāi)發(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]

然后打開(kāi)開(kāi)發(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實(shí)現(xiàn)生成顏色表(color chart)

    利用Python實(shí)現(xiàn)生成顏色表(color chart)

    在做色彩相關(guān)的算法分析時(shí)候,經(jīng)常需要使用規(guī)則的顏色表來(lái)進(jìn)行輔助,本文就來(lái)利用numpy和opencv生成顏色表并保存為圖片,需要的可以參考一下
    2023-05-05
  • Python HTMLTestRunner庫(kù)安裝過(guò)程解析

    Python HTMLTestRunner庫(kù)安裝過(guò)程解析

    這篇文章主要介紹了Python HTMLTestRunner庫(kù)安裝過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 使用python處理題庫(kù)表格并轉(zhuǎn)化為word形式的實(shí)現(xiàn)

    使用python處理題庫(kù)表格并轉(zhuǎn)化為word形式的實(shí)現(xiàn)

    這篇文章主要介紹了使用python處理題庫(kù)表格并轉(zhuǎn)化為word形式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • SpringMVC和SpringBoot接收參數(shù)的幾種方式詳解

    SpringMVC和SpringBoot接收參數(shù)的幾種方式詳解

    這篇文章主要介紹了SpringMVC和SpringBoot接收參數(shù)的幾種方式詳解,Spring是分層的JavaSE/EE應(yīng)用輕量級(jí)開(kāi)源框架,以IoC和AOP為內(nèi)核,提供了展現(xiàn)層 Spring MVC和持久層Spring JDBC以及業(yè)務(wù)層事務(wù)管理等眾多的企業(yè)級(jí)應(yīng)用技術(shù),需要的朋友可以參考下
    2023-07-07
  • python區(qū)塊鏈簡(jiǎn)易版交易實(shí)現(xiàn)示例

    python區(qū)塊鏈簡(jiǎn)易版交易實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了python區(qū)塊鏈簡(jiǎn)易版交易實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python實(shí)現(xiàn)兩張圖片拼接為一張圖片并保存

    python實(shí)現(xiàn)兩張圖片拼接為一張圖片并保存

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)兩張圖片拼接為一張圖片并保存,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python基于paramunittest模塊實(shí)現(xiàn)excl參數(shù)化

    Python基于paramunittest模塊實(shí)現(xiàn)excl參數(shù)化

    這篇文章主要介紹了Python基于paramunittest模塊實(shí)現(xiàn)excl參數(shù)化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python中使用threading.Event協(xié)調(diào)線程的運(yùn)行詳解

    Python中使用threading.Event協(xié)調(diào)線程的運(yùn)行詳解

    這篇文章主要介紹了Python中使用threading.Event協(xié)調(diào)線程的運(yùn)行詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Python深入淺出分析元類(lèi)

    Python深入淺出分析元類(lèi)

    在Python里一切都是對(duì)象(object),基本數(shù)據(jù)類(lèi)型,如數(shù)字,字符串,函數(shù)都是對(duì)象。對(duì)象可以由類(lèi)(class)進(jìn)行創(chuàng)建。那么既然一切都是對(duì)象,那么類(lèi)是對(duì)象嗎?是的,類(lèi)也是對(duì)象,那么又是誰(shuí)創(chuàng)造了類(lèi)呢?答案也很簡(jiǎn)單,也是類(lèi),一個(gè)能創(chuàng)作類(lèi)的類(lèi),稱(chēng)之為(type)元類(lèi)
    2022-07-07
  • PyTorch一小時(shí)掌握之神經(jīng)網(wǎng)絡(luò)分類(lèi)篇

    PyTorch一小時(shí)掌握之神經(jīng)網(wǎng)絡(luò)分類(lèi)篇

    這篇文章主要介紹了PyTorch一小時(shí)掌握之神經(jīng)網(wǎng)絡(luò)分類(lèi)篇,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09

最新評(píng)論