通过API进行网页抓取-Python-请求库

时间:2020-08-11 17:47:43

标签: json python-3.x api web-scraping python-requests

我是python / development的新手。当我开始阅读请求模块时,我遇到了这个奇怪的网站terion.in。它是一个游戏网站,用户必须猜测下一个颜色序列。这些颜色根据数字随机生成。新设置将在3分钟的时间间隔内出现。当我签出API时,它在Get方法中,并且能够抓取数据。

terion.in如果显示登录游戏页面,则此网站为虚拟购物网站。

import requests
 
headers = {
    'authority': 'booe.in',
    'accept': 'application/json, text/plain, */*',
    'authorization': 'Token bee0043a8dd3413efa50e91853c6e9b1ca819a7e',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-mode': 'cors',
    'sec-fetch-dest': 'empty',
    'referer': 'https://booe.in/',
    'accept-language': 'en-US,en;q=0.9,mt;q=0.8',
    'cookie': '__cfduid=d6548db2ec1334ee4806517500f0054fc1596897016; coem.notice.today=Important^%^20note^%^3A^%^20The^%^20recharge^%^20channel^%^20and^%^20withdrawal^%^20channel^%^20are^%^20maintained^%^20and^%^20upgraded.^%^20thank^%^20you^%^20for^%^20your^%^20support^!',
     
}
 
params = (
    ('category', 'P^'),
    ('p', '2^'),
    ('p_size', '2'),    
)
response = requests.get('https://booe.in/win/guesses', headers=headers, params=params)
json_response = response.json() 
json_response 

输出就像

{'code': 200,
'page': {'count': 44136, 'num_pages': 22068, 'current_page': 1},
'queryset': [{'period': 20200811455,
'price': 26324,
'last_num': 4,
'is_green': False,
'is_red': True,
'is_violet': False,
'create_time': '2020-08-11T22:45:02.736176+05:30'},
{'period': 20200811454,
'price': 26321,
'last_num': 1,
'is_green': True,
'is_red': False,
'is_violet': False,
'create_time': '2020-08-11T22:42:02.844054+05:30'}]}

因此在此,下一个序列生成将是'20200811456','20200811457'...等。 问题是我可以要求一个特定的密钥-'期间号'并要求输入值-'结果'吗?

1 个答案:

答案 0 :(得分:0)

这完全取决于API文档,信息应该在它们上面,与python本身无关。