分享4个策略经营、5动作冒险、8角色扮演、8体育竞速、18飞行射击和30棋牌安卓游戏源码

简介: 分享4个策略经营、5动作冒险、8角色扮演、8体育竞速、18飞行射击和30棋牌安卓游戏源码

分享4个策略经营、5动作冒险、8角色扮演、8体育竞速、18飞行射击和30棋牌

链接:https://pan.baidu.com/s/18_CmjwpUEzx3P4jqY7-jIg?pwd=6666

提取码:6666

下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。

Android游戏源码简单祖玛游戏源码

Android 炸弹人游戏

回到战国源码

LGame引擎开源塔防游戏源码 v2.3

Android 极地塔防游戏源码

坦克大战游戏源码

女汉子闯关记源码

<b>安卓斗破苍穹游戏源码

2d坦克小游戏源码

Android 仿雷电简单飞行游戏

android飞机游戏

Android游戏源码仿微信飞机大战游戏源码

Android游戏源码最简单的打砖块游戏

Android游戏源码基于蓝牙的坦克大战和聊天

Android游戏源码仿微信飞机大战Cocos2dx版

Android游戏源码类似飞机大战的傲娇小女生游戏

Android游戏源码简单飞行射击游戏1945

仿微信飞机大战Cocos2dx版

Android 飞行射击类游戏源码

是男人就下100层源码

<b>Android 愤怒的小鸟</b>

雷电2013射击小游戏源码

<b>FlappyBird像素鸟</b>

仿涂鸦跳跃DoodleJump的小游戏源码

3D竞速游戏极速飞行

<b>仿微信飞机大战游戏源码</b>

Q版疯狂大炮游戏源码

Android游戏源码经典RPG小游戏魔塔源码

Android游戏源码单机版传奇源代码

Android游戏源码纯java代码实现的仿NBA投篮游戏机

忍者突袭游戏源码

单机版传奇源代码

孤岛能源角色扮演游戏源码

经典RPG小游戏魔塔源码

Android经典的魔塔游戏源码

Android 高级翻牌游戏项目

Android 五子棋

Android游戏源码简单双人对战五子棋源码

Android游戏源码自适应分辨率的双人对战五子棋

Android游戏源码适合学习的五子棋游戏

html5微信安卓源码纸牌游戏

Android项目源码安卓联网中国象棋源码

Android游戏源码安卓五子棋人机对战

Android项目源码一款单机斗地主小游戏

Android游戏源码支持网络对战和本地对战的斗地主

Android游戏源码功能完善界面美观的俄罗斯方块

Android Framelayout显示静态和动态的扑克牌

简单双人对战五子棋源码军棋大战源码

<b>炮兵围困歼站源码</b>

<b>五子棋源码</b>

中国象棋人机对战源码

单机斗地主安卓源码

<b>三棋游戏源码</b>

<b>自适应分辨率的双人对战五子棋</b>

水墨风格的蓝牙联机对战五子棋

AI智商很高的安卓五子棋源码

内置积分榜人机黑白棋源码

人机对战国际象棋游戏源码

多人在线扑克源码

人机对战五子棋源码

算法完整的手机斗地主源码

两套算法的人机对战五子棋源码

中国象棋游戏源码

双人对战五子棋源码

Android游戏源码街机赛马小游戏源码

<b>疯狂足球安卓源码</b>

<b>决战NBA游戏源码</b>

3D竞速游戏源码

opengl热血篮球源码

<b>3D激情投篮应用源码</b>

<b>乒乓球游戏源码</b>

3D赛车竞速游戏源码

 

import os
import requests
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Inches
from framework.base.BaseFrame import BaseFrame
from sprider.business.DownLoad import DownLoad
from sprider.business.SpriderTools import SpriderTools
from sprider.business.UserAgent import UserAgent
class JB51JSP:
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    base_url = "https://www.365psd.com/"  # 采集的网址
    #https://www.365psd.com/free-psd/arts-design
    save_path = "D:\\Yadinghao\\Sprider\\365PSD\\"
    sprider_count = 128  # 采集数量
    haved_sprider_count = 0  # 已经采集的数量
    word_content_list = []
    folder_name = ""
    page_end_number=0
    def __init__(self):
        pass
    def sprider(self,url_para="arts-design"):
        """
        采集class/5_1.htm
        :return:
        """
        if url_para=="arts-design":
            self.folder_name="arts-design"
        elif url_para=="abstract":
            self.folder_name = "abstract"
        elif url_para == "animals-wildlife":
            self.folder_name = "animals-wildlife"
        elif url_para == "architecture":
            self.folder_name = "architecture"
        self.save_path = self.save_path + os.sep + self.folder_name
        BaseFrame().debug("开始采集365psd...")
        sprider_url=(self.base_url + "/free-psd/{0}".format(url_para))
        #print(sprider_url) #https://www.365psd.com/free-psd/arts-design
        response = requests.get (sprider_url,timeout=10,headers=UserAgent().get_random_header(self.base_url))
        response.encoding = 'utf-8'
        soup = BeautifulSoup(response.text, "html5lib")
        #print(soup)
        #div_list = soup.find_all('div', attrs={"class": 'thumbnail'}) #列表页面 核心内容
        div_list=soup.find_all('h2', attrs={"itemprop": 'name'})
        #print(div_list)
        pager_url= soup.find('ul', attrs={"class": 'pagination my40'})
        li_array=pager_url.find_all("li")
        pager_count=len(li_array)
        li_element = li_array[pager_count - 2]
        if len(li_array)==0:
            self.sprider_detail(div_list, self.page_count, 1)
            return
        else:
            pass
        # url=str(a_array[len(a_array)-1].get("href"))
        page_end_number=li_element.find("a").text
        # #print(page_end_number)
        while self.page_count <= int(page_end_number):  # 翻完停止
            try:
                if self.page_count == 1:
                    self.sprider_detail(div_list,self.page_count,page_end_number)
                    pass
                else:
                    if self.haved_sprider_count == self.sprider_count:
                        BaseFrame().debug("采集到达数量采集停止...")
                        BaseFrame().debug("开始写文章...")
                        self.builder_word(self.folder_name, self.save_path, self.word_content_list)
                        BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
                        break
                    next_url = (self.base_url + "/free-psd/{0}/{1}".format(url_para, self.page_count))
                    response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
                    response.encoding = 'utf-8'
                    soup = BeautifulSoup(response.text, "html5lib")
                    div_list = soup.find_all('h2', attrs={"itemprop": 'name'})
                    self.sprider_detail(div_list, self.page_count,page_end_number)
                    pass
                #print(self.page_count)
                self.page_count = self.page_count + 1  # 页码增加1
            except Exception as e:
                print("执行过程出现错误" + str(e))
    def copy_file(self,target_path):
        print("copy files")
        import os
        import shutil
        src_apk_file_path="薅羊毛专业版.apk"
        dst_apk_file_path=target_path+os.sep+"薅羊毛专业版.apk"
        shutil.copyfile(src_apk_file_path, dst_apk_file_path)  # 移动文件
        src_pdf_file_path = "薅羊毛专业版.pdf"
        dst_pdf_file_path = target_path + os.sep + "薅羊毛专业版.pdf"
        shutil.copyfile(src_pdf_file_path, dst_pdf_file_path)  # 移动文件
        src_doc_file_path = "readme.docx"
        dst_doc_file_path = target_path + os.sep + "readme.docx"
        shutil.copyfile(src_doc_file_path, dst_doc_file_path)  # 移动文件
        pass
    def sprider_detail(self, div_list,page_count,max_page):
        """
        采集明细页面
        :param div_list:
        :param page_count:
        :return:
        <h2 itemprop="name"><a href="/psd/abstract-rainbow-colors-photoshop-video-tutorial-hd-53322">Abstract rainbow colors Photoshop video tutorial (HD)</a></h2>
        """
        div_length=len(div_list)
        index=0
        while index < div_length:
            if self.haved_sprider_count == self.sprider_count:
                BaseFrame().debug("采集到达数量采集停止...")
                break
            h2 = div_list[index]
            index = index + 1
            sprider_info="正在采集第"+str(page_count)+"页的"+str(index)+"个资源"
            print(sprider_info)
            a=(h2.find("a"))
            next_url = self.base_url + a.get("href")
            coder_title =a.string
            response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
            response.encoding = 'utf-8'
            soup = BeautifulSoup(response.text, "html5lib")
            coder__file_url = soup.find('div', attrs={"class": 'detail-btns'})
            down_load_file_url= self.base_url +(coder__file_url.find('a').get("href"))
            image_src =""
            try:
                image_src = soup.find('ul', attrs={"class": 'bxslider-slider'}).find("li").find("img").get("src")
                #print(image_src)
            except Exception as e:
                print("源码不存在图片" + str(e))
            down_load_response = requests.get(down_load_file_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
            down_load_response.encoding = 'utf-8'
            down_load_soup = BeautifulSoup(response.text, "html5lib")
            coder_file_url = down_load_soup.find('a', attrs={"rel": 'nofollow'})
            coder_file_url=self.base_url +coder_file_url.get("href")
            #print(coder_file_url)
            if(DownLoad(self.save_path).down_load_file_by_url_no_ext(down_load_file_url, coder_title,self.folder_name)):
                DownLoad(self.save_path).down_cover_image__(image_src, coder_title)  # 资源的 封面
                sprider_content = [coder_title, self.save_path + os.sep +"image"+ os.sep + coder_title + ".jpg"]  # 采集成功的记录
                self.word_content_list.append(sprider_content)  # 增加到最终的数组
                self.haved_sprider_count = self.haved_sprider_count + 1
                BaseFrame().debug("已经采集完成第" + str(self.haved_sprider_count) + "个")
        #最后才可以构建word文档
        # print("Max Number"+str(max_page))
        # print("Current NO."+str(page_count))
        if(int(page_count)==int(max_page)):
            self.builder_word(self.folder_name,self.save_path,self.word_content_list)
            BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
    def builder_word(self, word_title, save_path, list_files):
        """
        输出产物是word文件
        :param word_title: 文件的标题
        :param save_path: 文件的保存路径
        :param list_files: 文件集合(单个内容)
        :return:
        """
        try:
            self.copy_file(self.save_path)
            print("Create Word"+word_title)
            file_count= len(list_files)
            self.gen_passandtxt(file_count,word_title)
            document = Document()
            document.add_heading(""+word_title+"PSD", level=2)
            document.add_paragraph("分享"+str(file_count)+"个"+word_title+"PSD文件,总有一款适合你\r\n"
                                   "下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。")
            ppt_tieles = ""
            for files in list_files:
                ppt_tieles = ppt_tieles + str(files[0]) + "\r"
            document.add_paragraph(ppt_tieles)
            for files in list_files:
                try:
                    document.add_paragraph(files[0])
                    document.add_picture(files[1], width=Inches(3))
                except Exception as e:
                    pass
            document.add_paragraph("最后送大家一首诗:")
            paragraph = document.add_paragraph()  # 单独控制
            paragraph.add_run("山高路远坑深,\r")
            paragraph.add_run("大军纵横驰奔,\r")
            paragraph.add_run("谁敢横刀立马?\r")
            paragraph.add_run("惟有点赞加关注大军。\r")
            paragraph.bold = True  # 字体加粗
            file_full_path=save_path+os.sep+word_title+".docx"
            document.save(file_full_path)
        except Exception as e:
            print("Create Word Fail reason:" + str(e))
    def gen_passandtxt(self,file_count,word_title):
        print("Create PassWord and Pass.txt")
        message=SpriderTools.gen_password()
        password = "".join(message)
        content=""
        content = content + "\n分享"+str(file_count)+"个"+word_title+"JSP源码"
        content = content + "\n\r"
        content=content+"\n都到这里了您就支持一下呗!谢谢老铁~~"
        content=content+"\n\r"
        content=content+"\n文件我就不一一列举了,送老铁一首打油诗"
        content=content+"\n学习知识费力气,"
        content=content+"\n收集整理更不易。"
        content=content+"\n知识付费甚欢喜,"
        content=content+"\n为咱码农谋福利。"
        content=content+"\n\r"
        content=content+"\n\r"
        content=content+"\n感谢您的支持"
        content=content+"\n\r" 
        content=content+"\n-------------------------------------------华丽分割线-------------------------------------------------------"
        content=content+"\n友情提醒解压密码:"+password+""
        full_path=self.save_path+os.sep+""+str(file_count)+"sell_pass.txt"
        with open(full_path, 'a', encoding='utf-8') as f:
            f.write(content)
if __name__ == "__main__":
    JB51JSP().sprider("architecture")

Android 高级翻牌游戏项目

Android 五子棋

Android 仿雷电简单飞行游戏

android飞机游戏

目录
相关文章
|
4天前
|
安全 数据安全/隐私保护 Android开发
探索Android与iOS的隐私保护策略
在数字时代,智能手机已成为我们生活中不可或缺的一部分,而随之而来的则是对个人隐私和数据安全的日益关注。本文将深入探讨Android与iOS两大操作系统在隐私保护方面的策略和实践,分析它们如何应对日益严峻的隐私挑战,以及用户应如何保护自己的数据安全。通过对比分析,我们将揭示两大系统在隐私保护方面的优势和不足,为用户提供有价值的见解和建议。
|
3月前
|
Ubuntu 开发工具 Android开发
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
本文介绍了在基于Ubuntu 22.04的环境下配置Python 3.9、安装repo工具、下载和同步AOSP源码包以及处理repo同步错误的详细步骤。
221 0
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
|
4天前
|
前端开发 Android开发 开发者
探索Android与iOS的跨平台开发策略
在当今多元化的移动设备市场中,开发者面临着为不同操作系统设计应用的挑战。本文深入探讨了Android和iOS两大主流平台的跨平台开发策略。我们将分析使用Flutter、React Native等框架进行跨平台开发的优劣,并讨论如何克服各平台间的差异性,以实现高效、一致的用户体验。此外,文章还将提供一些实用的技巧和最佳实践,帮助开发者优化跨平台应用的性能和兼容性。
20 4
|
6天前
|
前端开发 Android开发 iOS开发
探索Android与iOS的跨平台开发策略
在移动应用开发的多元化时代,跨平台开发已成为开发者追求效率和广泛覆盖的重要手段。本文深入探讨了Android与iOS两大主流平台下的跨平台开发策略,分析了各自的优势与挑战,并通过实际案例展示了如何有效实施跨平台解决方案,以期为开发者提供有价值的参考和启示。
|
1月前
|
调度 Android开发 开发者
构建高效Android应用:探究Kotlin多线程优化策略
【10月更文挑战第11天】本文探讨了如何在Kotlin中实现高效的多线程方案,特别是在Android应用开发中。通过介绍Kotlin协程的基础知识、异步数据加载的实际案例,以及合理使用不同调度器的方法,帮助开发者提升应用性能和用户体验。
46 4
|
1月前
|
监控 测试技术 Android开发
掌握安卓性能优化的关键策略
【10月更文挑战第7天】 在移动应用开发领域,性能优化是一项至关重要的任务。本文将探讨安卓应用性能优化的重要性、关键策略以及实际操作建议,帮助开发者提升应用的用户体验和竞争力。通过深入浅出的方式,我们将从背景介绍到具体实践,全面解析安卓性能优化的各个维度。
|
14天前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统的差异性及优化策略
在当今数字化时代,移动操作系统的竞争尤为激烈,其中iOS和Android作为市场上的两大巨头,各自拥有庞大的用户基础和独特的技术特点。本文旨在通过对比分析iOS与Android的核心差异,探讨各自的优势与局限,并提出针对性的优化策略,以期为用户提供更优质的使用体验和为开发者提供有价值的参考。
|
29天前
|
存储 机器学习/深度学习 测试技术
[大语言模型-论文精读] 以《黑神话:悟空》为研究案例探讨VLMs能否玩动作角色扮演游戏?
[大语言模型-论文精读] 以《黑神话:悟空》为研究案例探讨VLMs能否玩动作角色扮演游戏?
35 0
|
1月前
|
安全 Android开发 数据安全/隐私保护
安卓应用开发中的常见挑战及解决策略
【10月更文挑战第7天】在安卓应用开发的旅程中,开发者常面临各种挑战,从设备兼容性到性能优化,再到用户界面设计。本文将深入探讨这些常见问题,并提供实用的解决策略,帮助开发者提升应用质量和用户体验。我们将通过代码示例和实践建议,展示如何克服这些挑战,打造更流畅、更吸引人的安卓应用。
45 0
|
3月前
|
机器学习/深度学习 存储 定位技术
强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学
本文是关于使用Pygame库开发Python贪吃蛇游戏的实战教学,介绍了Pygame的基本使用、窗口初始化、事件处理、键盘控制移动、以及实现游戏逻辑和对象交互的方法。