利用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 相关文章推荐
Python中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
Python django框架开发发布会签到系统(web开发)
Feb 12 Python
python实现高效的遗传算法
Apr 07 Python
尝试使用Python爬取城市租房信息
Apr 12 Python
使用Python开发冰球小游戏
Apr 30 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
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
PHP判断远程url是否有效的几种方法小结
2011/10/08 PHP
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
[36:33]Ti4 循环赛第四日 附加赛NEWBEE vs Mouz
2014/07/13 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
Python下Fabric的简单部署方法
2015/07/14 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
实例详解Python装饰器与闭包
2019/07/29 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
python操作redis数据库的三种方法
2020/09/10 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
婚纱摄影师求职信
2014/03/07 职场文书
家装电话营销开场白
2015/05/29 职场文书
2015中秋祝酒词
2015/08/12 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书