利用Python实时获取steam特惠游戏数据


Posted in Python onJune 25, 2022

前言

Steam是由美国电子游戏商Valve于2003年9月12日推出的数字发行平台,被认为是计算机游戏界最大的数码发行平台之一,Steam平台是全球最大的综合性数字发行平台之一。玩家可以在该平台购买、下载、讨论、上传和分享游戏和软件。

利用Python实时获取steam特惠游戏数据

而每周的steam会开启了一轮特惠,可以让游戏打折,而玩家就会购买心仪的游戏

利用Python实时获取steam特惠游戏数据

传说每次有大折扣,无数的玩家会去购买游戏,可以让G胖亏死

利用Python实时获取steam特惠游戏数据

不过,由于种种原因,我总会错过一些想玩的游戏的特惠价!!!

所以,我就在想,可不可以用Python收集steam所有每周特惠游戏的数据

代码部分

开发环境

Python 3.8

Pycharm

先导入本次所需的模块

import random
import time
import requests
import parsel
import csv

模块可以pycharm里直接安装,输入pip install XXX(模块名)就行

利用Python实时获取steam特惠游戏数据

请求数据

url = f'https://store.steampowered.com/contenthub/querypaginated/specials/TopSellers/render/?query=&start=1&count=15&cc=TW&l=schinese&v=4&tag='
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
response = requests.get(url=url, headers=headers)

获取请求的数据

html_data = response.json()['results_html']
print(html_data)

这样网页源代码就获取到了

利用Python实时获取steam特惠游戏数据

解析数据

selector = parsel.Selector(html_data)
lis = selector.css('a.tab_item')
for li in lis:
    href = li.css('::attr(href)').get()
    title = li.css('.tab_item_name::text').get()
    tag_list = li.css('.tab_item_top_tags .top_tag::text').getall()
    tag = ''.join(tag_list)
    price = li.css('.discount_original_price::text').get()
    price_1 = li.css('.tab_item_discount .discount_final_price::text').get()
    discount = li.css('.tab_item_discount .discount_pct::text').get()
    print(title, tag, price, price_1, discount, href)

利用Python实时获取steam特惠游戏数据

保存数据

先把数据保存进字典里面

dit = {
    '游戏': title,
    '标签': tag,
    '原价': price,
    '售价': price_1,
    '折扣': discount,
    '详情页': href,
}
csv_writer.writerow(dit)

最后保存到csv里

f = open('游戏_1.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '游戏',
    '标签',
    '原价',
    '售价',
    '折扣',
    '详情页',
])
csv_writer.writeheader()

最后结果

利用Python实时获取steam特惠游戏数据

到此这篇关于利用Python实时获取steam特惠游戏数据的文章就介绍到这了,更多相关Python获取steam游戏数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Python 相关文章推荐
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 Python
python实现抖音视频批量下载
Jun 20 Python
python实现简单加密解密机制
Mar 19 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
Python如何筛选序列中的元素的方法实现
Jul 15 Python
python实现处理mysql结果输出方式
Apr 09 Python
Python unittest框架操作实例解析
Apr 13 Python
Python内存映射文件读写方式
Apr 24 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 Python
pycharm实现猜数游戏
Dec 07 Python
Python3中对json格式数据的分析处理
Jan 28 Python
python 列表推导和生成器表达式的使用
Feb 01 Python
Python first-order-model实现让照片动起来
python热力图实现的完整实例
彻底弄懂Python中的回调函数(callback)
Jun 25 #Python
利用Python实现翻译HTML中的文本字符串
Jun 21 #Python
使用scrapy实现增量式爬取方式
Jun 21 #Python
python+opencv实现目标跟踪过程
Jun 21 #Python
使用opencv-python如何打开USB或者笔记本前置摄像头
You might like
PHP4实际应用经验篇(8)
2006/10/09 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
利用javascript查看html源文件
2006/11/08 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
跟老齐学Python之Python安装
2014/09/12 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
python距离测量的方法
2018/03/06 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
国际领先的学术出版商:Springer
2017/01/11 全球购物
Laura Mercier官网:彩妆大师罗拉玛斯亚的化妆品牌
2018/01/04 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
数控机械专业个人的自我评价
2014/01/02 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
人事任命通知
2015/04/20 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android
JavaScript 定时器详情
2021/11/11 Javascript