蒸汽市场价格历史提取

Price history extraction from steam market

我正在使用以下 URL 提取价格历史记录 JSON 文件
https://steamcommunity.com/market/pricehistory/?appid=730&market_hash_name=P90%20|%20Blind%20Spot%20(Field-Tested)

我使用的python代码:

    item = requests.get(URL, cookies={'steamLogin': steamid}); # get item data
    print(str(currRun),' out of ',str(len(allItemNames))+' code: '+str(item.status_code))
    item = item.content
    item = json.loads(item)

现在我查看了该社区中发布的几乎所有解决方案,但我仍然收到状态代码 400 和项目 []。

当我复制粘贴 URL 并在浏览器中打开它时,我能够看到包含所需数据的 JSON 文件,但 Jupyter notebook 无法检测到内容

我也试过Beautiful soup阅读内容,代码如下:

     r = requests.get(url)
     #below code extracts the whole HTML Code of above URL 
     soup = BeautifulSoup(r.content, 'html5lib')
     table = soup.find_all('pre')
     print(table)

输出:[]

所以你得到 [] 因为你没有被授权,所以你收到空的 json 数组。您可以通过在隐身(Ctrl+Shift+N)模式下打开 link 来查看它。

要授权你需要设置Cookie header到你的请求,所以你的代码将是这样的:

import requests

url = "https://steamcommunity.com/market/pricehistory/?appid=730&market_hash_name=P90%20%7C%20Blind%20Spot%20(Field-Tested)"

headers = {
    "Cookie": "Your cookie"
}

json = requests.get(url, headers=headers).text
...

如何找到 Cookie (Chrome)

  1. 使用json

    转到link
  2. 按 F12 打开 Chrome 开发工具包。

  3. 打开 Network 选项卡

  4. 重新加载页面。

  5. 双击第一个发送的请求

  6. 打开 Headers 子标签

  7. 滚动到 Request Headers

  8. 查找Cookieheader