利用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 调用VC++的动态链接库(DLL)
Sep 06 Python
Python遍历指定文件及文件夹的方法
May 09 Python
Python编程之字符串模板(Template)用法实例分析
Jul 22 Python
python的staticmethod与classmethod实现实例代码
Feb 11 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
Python 从attribute到property详解
Mar 05 Python
python 字典item与iteritems的区别详解
Apr 25 Python
pytorch SENet实现案例
Jun 24 Python
Python数据库封装实现代码示例解析
Sep 05 Python
python em算法的实现
Oct 03 Python
python爬虫分布式获取数据的实例方法
Nov 26 Python
Selenium Webdriver元素定位的八种常用方式(小结)
Jan 13 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编程中八种常见的文件操作方式
2006/11/19 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
2018/12/20 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
Python字典深浅拷贝与循环方式方法详解
2020/02/09 Python
python 实现音频叠加的示例
2020/10/29 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
舞蹈专业求职信
2014/06/13 职场文书
2015年工程部工作总结
2015/04/30 职场文书
圆明园观后感
2015/06/03 职场文书