前言

Steam是由美国电子游戏商Valve于2003年9月12日推出的数字发行平台,被认为是计算机游戏界最大的数码发行平台之一,Steam平台是全球最大的综合性数字发行平台之一。玩家可以在该平台购买、下载、讨论、上传和分享游戏和软件。

而每周的steam会开启了一轮特惠,可以让游戏打折,而玩家就会购买心仪的游戏

传说每次有大折扣,无数的玩家会去购买游戏,可以让G胖亏死

不过,由于种种原因,我总会错过一些想玩的游戏的特惠价!!!
所以,我就在想,可不可以用Python收集steam所有每周特惠游戏的数据

代码部分

开发环境

  • Python 3.8
  • Pycharm

先导入本次所需的模块

import random
import time
import requests
import parsel
import csv

模块可以pycharm里直接安装,输入pip install XXX(模块名)就行

请求数据

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)

这样网页源代码就获取到了

解析数据

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)

保存数据

先把数据保存进字典里面

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特惠游戏数据相关推荐

  1. Python实现实时获取steam数据,不用担心错过打折

    相信大部分的游戏爱好者,都知道steam这个平台吧 Steam是由美国电子游戏商Valve于2003年9月12日推出的数字发行平台,被认为是计算机游戏界最大的数码发行平台之一,Steam平台是全球最大 ...

  2. Python爬虫获取基金持仓股票数据

    Python爬虫小实战 . 通过Python爬虫获取基金持仓股票数据,按照基金持仓金额对股票进行排行,并储存在本地数据库. from urllib import request from bs4 im ...

  3. python实时获取Android FPS

    python---实现实时获取Android FPS 1:如何计算FPS信息? 2:如何获取FPS信息? 3:python实现 fps实时获取和计算 使用adb shell dumpsys gfxin ...

  4. python实时获取子进程输出_Python 从subprocess运行的子进程中实时获取输出的例子...

    有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的.在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和 ...

  5. 【转】Python之获取每日涨停板股票数据并绘制K线图!

    利用tushare财经数据接口获取股市进行数据分析.并可视化的案例 1.导入所需要的库 import os import pandas as pd import tushare as ts impor ...

  6. Python之获取每日涨停板股票数据并绘制K线图!

    利用tushare财经数据接口获取股市进行数据分析.并可视化的案例 1.导入所需要的库 import os import pandas as pd import tushare as ts impor ...

  7. 【天勤量化】python多进程获取所有期货分钟数据和股票日线数据

    文章目录 1. 天勤量化不同版本区别 2. 多进程获取期货分钟数据和股票日线数据 3. 多进程获取期货分钟数据并且每日实时更新历史数据 4.常见问题 4.1 ray包无法安装 4.2 免费账户能否获得 ...

  8. python tabula获取pdf的列表数据

    tabula的功能比camelot更加强大,可以同时对多个表格数据进行提取.项目的具体地址请参考:https://github.com/chezou/tabula-py 安装 tabula的安装是非常 ...

  9. python suds 获取webService封装的数据

    1.suds的client获取webService封装的数据,URL为http:// **?WSDL形式 from suds.client import Client import sys def g ...

  10. python 爬虫 获取bilibili search搜索数据,返回json格式

    话不多说直接上代码 测试用例 : 搜索java为关键词的 时长在60分钟以上的视频 import requests import json import osheaders = {"user ...

最新文章

  1. vector与结构体联合使用 在磁盘中生成.txt 文件
  2. 集成电路:迎国产替代浪潮,设计领域机会凸显
  3. 一个MySQL时间戳精度引发的血案
  4. 压缩命令tar cf xx.tar -C的正确用法
  5. core-site.xml
  6. Andoid开发中生成二维码
  7. 模数转换实验中断方式c语言,DSP实验报告--模拟信号的AD+FFT变换
  8. C#调用js,js调用C#
  9. Bugzilla简明使用手则
  10. 简洁/易用/灵活/高效-RecyclerView适配器封装
  11. 苹果Mac Dock 栏应用窗口预览:​​​​​​​​​​​​DockView
  12. System.SetString - 获取字符串
  13. python可以下载百度文库_用python下载百度文库的代码
  14. STM32H7定时器输入捕获实现电容触摸按键
  15. 认识JNCIE认证(学习方法经验总结 )
  16. 什么叫做云计算?学习云计算先要理解
  17. 增强现实技术AR的50个应用场景
  18. 铝酸锂晶体(LiAlO2)-氮化镓薄膜的优质基片
  19. axure强制签入签出
  20. Ubuntu 12.04 常用三种输入法及键盘错乱的调整

热门文章

  1. 全球最大湾区|微信大数据:《粤港澳大湾区智慧生活圈报告》
  2. 矩阵求逆的一万种方法
  3. 【条形码识别】条形码中数字的识别的matlab仿真
  4. 计算机电脑整蛊图片,双击就蓝屏 男子愚人节整蛊怒砸笔记本
  5. 大数据运维架构师培训(4):Oozie,Flume,Sqoop,Azkaban,Ranger
  6. 集群搭建——SGE与PBS
  7. CentOS7安装 SGE
  8. 【物联网毕设基础】NBIOT 窄带物联网
  9. 用户特殊权限SUID,SGID, SBIT理解学习
  10. 语言独立性和与语言无关的组件