python爬取steam市场数据

  • 用python写了个爬虫,爬取csgo中AK47红线的交易数据并保存最终的结果
import csv
import requests
import re

url='https://steamcommunity.com/market/listings/730/AK-47%20%7C%20Redline%20%28Field-Tested%29'
headers={
            'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36',
            }

response=requests.get(url,headers=headers)

result=re.search('<script.*?line1=(.*?);.*?</script>',response.text,re.S)  
#匹配表格的信息,价格为美元,返回的类型为字符串
path=r'C:\Users\Administrator\Desktop\python\ak47list.txt'

with open(path,'w',encoding='utf-8') as f:
    f.write(result.group(1))
    
file=open(path)
file_read=file.read()

table=str.maketrans('','','":+[]')#删除字符串中的“ : + []
file_translate=file_read.translate(table)

lst=file_translate.split(',')#以逗号为分隔符,将字符串转换为列表

list_time=[]
list_price=[]
list_num=[]
#将时间、价格、数量三个信息分别存入三个list
i=0
j=0
while i < len(lst):       
    list_time.insert(j,lst[i])
    list_price.insert(j,lst[i+1])
    list_num.insert(j,lst[i+2])
    i=i+3
    j=j+1
#创建csv文件,并将数据写入
with open('ak47list.csv','a') as csvfile:
   writer=csv.writer(csvfile)
   writer.writerow(['time','price','number'])
   for i in range(len(list_time)):
       writer.writerow([list_time[i],list_price[i],list_num[i]])
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值