利用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中移动目录结构的方法
Jan 31 Python
pytorch cnn 识别手写的字实现自建图片数据
May 20 Python
对python遍历文件夹中的所有jpg文件的实例详解
Dec 08 Python
对python:print打印时加u的含义详解
Dec 15 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
解决pycharm下pyuic工具使用的问题
Apr 08 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
Jun 10 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 Python
如何利用opencv判断两张图片是否相同详解
Jul 07 Python
python实现简单聊天功能
Jul 07 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实现aes加密类分享
2014/02/16 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
Javascript 按位与赋值运算符 (&=)使用介绍
2014/02/04 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
Python进行数据提取的方法总结
2016/08/22 Python
Apache如何部署django项目
2017/05/21 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
写出二分查找算法的两种实现
2013/05/13 面试题
消防器材管理制度
2014/01/28 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers