利用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的发展史
Sep 26 Python
python将图片文件转换成base64编码的方法
Mar 14 Python
浅谈MySQL中的触发器
May 05 Python
详解Python3中的Sequence type的使用
Aug 01 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
浅谈django channels 路由误导
May 28 Python
python logging模块的使用详解
Oct 23 Python
python模拟点击玩游戏的实例讲解
Nov 26 Python
详解MindSpore自定义模型损失函数
Jun 30 Python
Python Flask实现进度条
May 11 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
PHP集成FCK的函数代码
2008/09/27 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
朴素贝叶斯算法的python实现方法
2014/11/18 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python实现Dijkstra算法
2018/10/17 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
python跳出双层for循环的解决方法
2019/06/24 Python
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
化学系大学生自荐信范文
2014/03/01 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
企业安全生产标语
2014/06/06 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
学生党员检讨书范文
2014/12/27 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
客户答谢会致辞
2015/07/30 职场文书
高中军训感想
2015/08/07 职场文书
用Python实现Newton插值法
2021/04/17 Python
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL
Minikube搭建Kubernetes集群
2022/03/31 Servers