利用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中使用next()方法操作文件的教程
May 24 Python
Python应用03 使用PyQT制作视频播放器实例
Dec 07 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 Python
jupyter notebook 中输出pyecharts图实例
Apr 23 Python
python中bs4.BeautifulSoup的基本用法
Jul 27 Python
简单了解django文件下载方式
Feb 10 Python
Django ValuesQuerySet转json方式
Mar 16 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
django中ImageField的使用详解
Dec 21 Python
python工具——Mimesis的简单使用教程
Jan 16 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 显示指定路径下的图片
2009/10/29 PHP
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
Python流程控制 if else实现解析
2019/09/02 Python
pyspark 随机森林的实现
2020/04/24 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
几个Linux面试题笔试题
2012/12/01 面试题
行政助理岗位职责
2013/11/10 职场文书
迎国庆演讲稿
2014/09/15 职场文书
书法社团活动总结
2015/05/07 职场文书
公司管理建议书
2015/09/14 职场文书
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android