每周都有免费游戏 - Epic Games
近期看到Epic在送游戏,目前每周都会有活动白嫖。

身为白嫖党,肯定要操作一下。

游戏列表:Epic Games Store 每周免费游戏(331) | indienova GameDB 游戏库

大致思路:

1、根据网站,获取可 “  白嫖  ”的游戏

2、处理相关信息,组成文本

3、发送到微信上,让我们知道。

1、查询网站

下面网页,会发布最新免费,可白嫖的游戏。我们爬取这些信息,进行判断

游戏列表:Epic Games Store 每周免费游戏(331) | indienova GameDB 游戏库

2、代码编写

1.我们爬取网页的数据

2.获取网页中所有游戏的信息

3.判断游戏信息是最新编辑的

4.汇总信息进行发送到微信

相关实例代码

# -*- coding: utf-8 -*-
# @Time    : 2022/12/29 16:33
# @Author  : 南宫乘风
# @Email   : 1794748404@qq.com
# @File    : epic_all.py
# @Software: PyCharm
import json
import re
import timeimport requests
from bs4 import BeautifulSoupdef get_url_info():url = 'https://indienova.com/gamedb/list/121/p/1'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.41'}res = requests.get(url, headers=headers).textreturn resdef check_epci_info(game_info_list):list_content = []for i in game_info_list:game_time = i['game_time']if '小时前' in game_time[0]:content = f"中文名称:{i['game_zh']}  <br/>" \f"英文名称:{i['game_en']} <br/>" \f"领取时间:{i['game_start']} <br/>" \f"发布时间:{i['game_time']}<br/><br/>"list_content.append(content)return list_contentdef parse_web_page(res):soup = BeautifulSoup(res, "html.parser")res.encode('UTF-8').decode('UTF-8')div_class = soup.find(name='div', attrs={"id": "portfolioList"})# print(div_class[0])game_name = div_class.find_all(name='div', attrs={"class": "col-xs-12 col-sm-6 col-md-4 user-game-list-item"})list_game = str(game_name).split('<div class="col-xs-12 col-sm-6 col-md-4 user-game-list-item">')game_info_list = []for i in list_game[1:]:dict_info = {}# print('----------------------------------------------------------------------------------')game = BeautifulSoup(i, "html.parser")game_all_info = game.find(name='h4')game_name_zh = game_all_info.find_all(name='a')game_name_en = game_all_info.find_all(name='small')game_name_zh = re.findall(r'>(.+?)<', str(game_name_zh))game_name_en = re.findall(r'>(.+?)<', str(game_name_en))# print(game_name_zh, game_name_en)game_start_end = game.find(name='p', attrs={"class": "intro"})game_start_end_new = game_start_end.find_all(name='span')game_edit_time = game.find(name='p', attrs={"class": "text-date"})game_edit_time_new = game_edit_time.find_all(name='small')game_edit_time_new = str(game_edit_time_new).replace(" ", "").replace("\n", " ")game_start_end_new = re.findall(r'>(.+?)<', str(game_start_end_new))game_edit_time_new = re.findall(r'>(.+?)<', str(game_edit_time_new))dict_info["game_zh"] = game_name_zhdict_info["game_en"] = game_name_endict_info["game_start"] = game_start_end_newdict_info["game_time"] = game_edit_time_newgame_info_list.append(dict_info)# print(game_start_end_new,game_edit_time_new)return game_info_listdef send_to_epic_message(list_content):content = ''.join(list_content) + '\nhttps://indienova.com/gamedb/list/121/p/1'token = 'tokenxxxxxxxxxxxxxxxxxxxx'day_time = time.strftime('%Y-%m-%d', time.localtime(time.time()))title = f'Epic免费游戏-{day_time}'  # 改成你要的标题内容error_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))  # 获取格式化的时间url = 'http://www.pushplus.plus/send'data = {"token": token,  # 密钥"title": title,  # 标题"content": content,  # 发送的信息内容,这里我们是json数组"template": "markdown"  # 数据类型为json}body = json.dumps(data).encode(encoding='utf-8')headers = {'Content-Type': 'application/json'}request_result = requests.post(url, data=body, headers=headers)# print(request_result)  # <Response [200]>if __name__ == '__main__':res = get_url_info()game_info_list = parse_web_page(res)list_content = check_epci_info(game_info_list)send_to_epic_message(list_content)

3、发送平台(pushplus)

微信公众号关注

pushplus(推送加)-微信消息推送平台

获取token进行配置即可。

4、定时任务

我们要把脚本部署到Linux操作环境 上。

首先记得安装依赖。pip install 模块

定时任务,每天10点运行一次。

0 10 * * * /usr/bin/python3 /opt/epic_send.py

5、增加 喜加一 的资讯通知

网站为steam free game,steam free promotion - Steam Stats

# -*- coding: utf-8 -*-
# @Time    : 2022/12/29 15:51
# @Author  : 南宫乘风
# @Email   : 1794748404@qq.com
# @File    : epic.py
# @Software: PyCharm
import json
import timeimport requests
from bs4 import BeautifulSoupdef get_free():url = 'https://steamstats.cn/xi'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.41'}r = requests.get(url, headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingsoup = BeautifulSoup(r.text, "html.parser")text = "今日喜加一 <br>" + 'https://steamstats.cn/xi' + '<br>'tbody = soup.find('tbody')tr = tbody.find_all('tr')i = 1for tr in tr:td = tr.find_all('td')name = td[1].string.strip().replace('\n', '').replace('\r', '')gametype = td[2].string.replace(" ", "").replace('\n', '').replace('\r', '')start = td[3].string.replace(" ", "").replace('\n', '').replace('\r', '')end = td[4].string.replace(" ", "").replace('\n', '').replace('\r', '')time = td[5].string.replace(" ", "").replace('\n', '').replace('\r', '')oringin = td[6].find('span').string.replace(" ", "").replace('\n', '').replace('\r', '')text = text + "序号:" + str(i) + '<br>' + "游戏名称:" + name + '<br>' + "DLC/game:" + gametype + '<br>' + "开始时间:" + start + '<br>' + "结束时间:" + end + '<br>' + "是否永久:" + time + '<br>' + "平台:" + oringin + '<br>'# print(text)i++return textdef send_to_epic_message(text_info):content = ''.join(text_info)token = 'xxxxxxxxxxxxxxxxx'day_time = time.strftime('%Y-%m-%d', time.localtime(time.time()))title = f'喜加一 免费游戏-{day_time}'  # 改成你要的标题内容error_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))  # 获取格式化的时间url = 'http://www.pushplus.plus/send'data = {"token": token,  # 密钥"title": title,  # 标题"content": content,  # 发送的信息内容,这里我们是json数组"template": "markdown"  # 数据类型为json}body = json.dumps(data).encode(encoding='utf-8')headers = {'Content-Type': 'application/json'}request_result = requests.post(url, data=body, headers=headers)if __name__ == "__main__":game_info = get_free()if len(game_info) > 40:send_to_epic_message(get_free())

参考文档:python获取steam/epic喜加一信息并自动发送到微信 - 知乎

Python通知Epic白嫖游戏信息相关推荐

  1. 青龙面板之白嫖游戏云

    项目名称: 雨云(rainyun) 能白嫖的项目:游戏云,虚拟主机(相对来说很稳定的) 官网:游戏云 脚本使用说明:  第一步:上传本脚本到青龙.  第二步:注册一个账号(不提现只抢游戏云和主机的话不 ...

  2. 三个限免网站,助你白嫖正版付费软件/游戏

    很多时候呢,想用正版软件 但是屈服于其不菲的价格 所以选择某某PoJie软件 但是这些软件或多或少有些不为人知的后门 是不是有些时候就十分的纠结 虽然我平时也用许多这种软件 但是能遇到正版限免的软件 ...

  3. 白嫖?给我也整一个!白嫖网易云游戏平台时长(网易云游戏平台自动签到)

    原文链接: https://bili33.top/2020/12/06/NeteaseCloudGameFree/ 源仓库已于2021.5.21删除,关于得知Github查封Action仓库的信息后我 ...

  4. 白嫖steam游戏,我是专业的

    做自己喜欢的爬虫:steam白嫖 闲的无聊做了一期steam白嫖的文章. 有了它,以后就再也不会担心游戏没有白嫖到了. steam近期免费:https://steamdb.info/upcoming/ ...

  5. python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源)

    python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源) 见链接

  6. 关于用python爬虫白嫖漫画这档子事

    关于用python爬虫白嫖漫画这档子事 文章目录 关于用python爬虫白嫖漫画这档子事 前言 操作环境 网页分析 1. 漫画主页 2. 获取章节链接列表 3. 获取章节图片 4. 小结 编写代码 1 ...

  7. 你需要启用steam社区界面功能以进行购买_Steam新功能正式上线!游戏库更加酷炫,玩家终于能白嫖了?...

    一直以来Steam就因为那"朴素"的界面,而被玩家们吐槽为"跟不上时代的老软件",在经过一系列测试之后,Steam的新功能终于上线了.首先就是能一目了然找到想要 ...

  8. Python 使用白嫖网易翻译 API 进行翻译

    前言 首先感谢观众们对我的博文进行修正,也感谢大家支持!由于上一篇在Python社区上传的博文是我很久以前制作的,我直接从我的个人网站复制了,所以粘贴会出现错误,特别是文章中出现的html文本会造成网 ...

  9. Python爬虫实例:爬取 viveport 上 1406 款VR游戏信息

    这次我们准备爬取 HTC VIVE 的VR内容平台--Viveport,上面有 1406 款优质的 VR 游戏/应用,本次我们的目标就是把这些游戏的详细信息爬取下来. 首先我们去该网站看一下(http ...

最新文章

  1. linux gdb 运行的程序,GDB(十)--调试正在运行的进程
  2. 从深圳回武汉的面试感想以及一些面试题
  3. 5 款阿里常用代码检测工具,免费用!
  4. 栈,堆,值类型,引用类型,装箱,拆箱 .NET中 6个重要的概念
  5. cgi+bin+php,crontab+php-cgi/php 定时执行PHP脚本
  6. 33条C#、.Net经典面试题目及答案[zt]
  7. 一次惊险的跳槽面试经历(阿里/美团/头条/网易/有赞...)
  8. bcb series清除前面的点_新iPhone前面板曝光:丑刘海还在,但边框窄了
  9. 无线Wifi模块AP和STA工作模式详解
  10. Leetcode c语言-Implement strStr()
  11. TR外汇黑平台资金盘深度揭秘,谨防上当受骗,迟早会跑路
  12. php英文商城,童装英文外贸网站系统
  13. Android访问assets本地Json文件
  14. sql server 2000 版本及sp4补丁说明
  15. DELPHI XE10 fmx表格控件Grid单元格根据内容值来设置颜色
  16. MTU问题,为何抓包到1514
  17. js正则表达式-前瞻
  18. 风险投资(VC)与私募股权投资(PE)的区别
  19. 让程序员心动的微瞬间(亲情篇)
  20. Android怎样判断APP是64位运行,还是32位运行?

热门文章

  1. Android网络加载框架Glide的使用
  2. NOIp2016 题解
  3. ssh远程连接ubuntu后UI在本地显示
  4. 【某航】关联规则分析CatalogCrossSell数据集——数据挖掘导论
  5. 达梦客户端工具的使用
  6. 从Google白皮书看企业安全最佳实践
  7. 一步一步学习之安装与配置 CakePHP (一)
  8. Android键盘和触摸事件处理
  9. LG OLED C8电视评测:3.9mm超薄机身前置扬声
  10. 手机方案厂商怨高通门槛高 联发科影响力犹存