0


python 从4399获取小游戏

概述

本文章致力于用各种方法将小游戏下载到电脑上,从而满足后期在电脑上训练游戏ai的效果

获取游戏

(我严重怀疑我这篇博客活不久555)

首先要知道游戏在哪

1.首先先找到一款游戏
老爹饼干圣代店

2.查看网页源代码
这步骤主要是找游戏本体的位置
打开到这个页面,然后观察鼠标右键选择查看网页源代码
在这里插入图片描述
这里直接跳过观察部分进入结论
游戏的本体url由 “_strGamePath=” 后面决定
游戏的名字由 "game_title="决定
找到怎么获取一个游戏之后上代码

代码

import requests

# 基础url
host_url = 'http://www.4399.com'
swfbase_url = 'http://sda.4399.com/4399swf'
#根据网页网址,获取游戏
def download_game(url):
    #获取网页源代码
    game_page = requests.get(url).text
    game_page.encoding = 'gb2312'
    
    #找到网页中含有游戏标题的字符
    start =game_page.find("game_title=")
    #标记标题起始位置
    p1=start+14
    #通过向后遍历寻找双引号获取标题结束的位置
    p2=p1+1
    while(game_page[p2]!="\""):
        p2+=1
    #保存标题
    game_title= game_page[p1:p2]

    #和获取标题一样的方法获取游戏本体的网址
    start =game_page.find("_strGamePath=")
    p1=start+14
    p2=p1+1
    while(game_page[p2]!="\""):
        p2+=1
    #4399游戏本体的网址是由两部分组成,基址+偏移量
    #我们之前找的都是偏移量,接上基址就是正确的网址
    src_url=swfbase_url + game_page[p1:p2]

    file_type='.'+game_page[p1:p2].split('/')[-1].split('.')[-1]
    # print(file_type)
    if file_type=='.swf':
        #获取本体
        src = requests.get( src_url).content

        #保存
        open( "./"+ game_title+ file_type, "wb" ).write( src )
    else:
        print("只有swf文件才能下载")

if __name__ == '__main__':
    url='http://www.4399.com/flash/91723.htm'
    download_game(url)

打开flash游戏

官网下载flashplayer

理论上下载官方版就能使用,但是实际上我还是下载了大厅版
官方版都不知道怎么开游戏

问题

1. 从网页源码里解析出来的名字中文乱码,我不是很清楚要怎么转成中文
希望如果有人知道这要怎么处理的人,希望您能在下方评论留言造福大家!

标签:

本文转载自: https://blog.csdn.net/weixin_43958086/article/details/117716336
版权归原作者 怪皮蛇皮怪 所有, 如有侵权,请联系我们删除。

“python 从4399获取小游戏”的评论:

还没有评论