Я хочу использовать файлы cookie из EditThisCookie, чтобы получать доступные элементы из учетной записи, поэтому я сохранил их в файле cookie.json, но когда я пытаюсь использовать их и отправить запрос на получение, он просто не входит в систему.
Пример файла cookie.json:
[
{
"domain": ".github.com",
"expirationDate": 12401290312391203012,
"hostOnly": false,
"httpOnly": false,
"name": "_octo",
"path": "/",
"sameSite": "lax",
"secure": true,
"session": false,
"storeId": "0",
"value": "MIGHT_BE_SMTH_PERSONAL :(",
"id": 1
}
]
кстати, значения expirationDate
и value
скрыты, потому что я не знаю, что люди могут с этим сделать
Код:
import requests
import json
url = 'https://steamcommunity.com/inventory/steamid/730/2?&count=5000'
with open('cookies.json', 'r') as f:
json_data = f.read()
parsed_data = json.loads(json_data)
if isinstance(parsed_data, list) and all(isinstance(item, dict) for item in parsed_data):
cookies = parsed_data
else:
cookies = []
r = requests.Session()
for cookie in cookies:
r.cookies.update(cookie)
headers = {
'User-Agent' : 'my_user_agent'
}
r.get(url, headers=headers)
🤔 А знаете ли вы, что...
Python был создан Гвидо ван Россумом и впервые выпущен в 1991 году.
Ошибка, которую вы можете прочитать в конце вывода, — это TypeError, поскольку дата истечения срока действия должна быть строкой, а не числом с плавающей запятой, как, вероятно, сейчас. Изменение даты истечения срока действия на str должно решить проблему.
Итак, я решил это, окончательный код для тех, кому он нужен:
import requests
import json
url = 'https://steamcommunity.com/inventory/steamid/730/2?&count=5000'
with open('cookies.json', 'r') as f:
json_data = f.read()
parsed_data = json.loads(json_data)
if isinstance(parsed_data, list) and all(isinstance(item, dict) for item in parsed_data):
cookies = parsed_data
else:
cookies = []
session = requests.Session()
for cookie in cookies:
session.cookies.set(cookie['name'], cookie['value'])
headers = {
'User-Agent' : 'my_user_agent'
}
response = session.get(url)
print(response.text)
#Getting the whole inventory page content
и вам не нужно менять какие-либо данные в вашем «cookies.json» (я написал выше)