小白请教各路大神python获取数据的问题
本帖最后由 zhaoqingp 于 2021-8-18 22:43 编辑我是小白,请教各路大神python获取数据的问题,我想获取刷题神器群组里的题库,用python登录成功但是没有返回cookie,哪位大神帮我看看代码,谢谢了
import requests
session = requests.session()
url = 'http://stsqapi.tibosi.com/user/login'
data = {
'userNumber': '135XXXXXX',
'passWord': '84cc8941393cc667b804f1d603b2561b',
'client': '0'
}
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73',
'origin': 'http://www.shuatishenqi.com'
}
resp = session.post(url, data=data, headers=headers )
resp.encoding = "utf-8"
print(resp.cookies)
你那个都没登录成功啊。。。
至少我这里显示你那个post后获取的数据是不正确的
这是我写的,可以参考一下
import requests
url = "https://stsqapi.tibosi.com/user/login"
data = {"userNumber":"手机号","passWord":"84cc8941393cc667b804f1d603b2561b","client":0}
headers= { "content-type": "application/x-www-form-urlencoded; charset=UTF-8" }
session = requests.Session()
res = session.post(url=url,data=data, headers=headers)
print(res.text)
截图对比:
还有注意保护个人隐私 涛之雨 发表于 2021-8-18 22:52
你那个都没登录成功啊。。。
至少我这里显示你那个post后获取的数据是不正确的
这是我写的,可以参考一下 ...
谢谢老师,我看下,刚才没有权限私聊你哈哈哈 C:\Users\Administrator>python
Python 3.8.10 (tags/v3.8.10:3d8993a, May3 2021, 11:48:03) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> url = "http://stsqapi.tibosi.com/user/login"
>>> data = {"userNumber":"135XXXXX","passWord":"84cc8941393cc667b804f1d603b2561b","client":0}
>>> headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"}
>>> session = requests.Session()
>>> res = session.post(url=url,data=data,headers=headers)
>>> print(res.text)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /user/login</pre>
</body>
</html> 怎么还是不成功啊?:lol 把 `http://` 改成 `https://`
即
```python
url = 'https://stsqapi.tibosi.com/user/login'
```
因为访问这个http页面会被HTTP 301 Moved Permanently到对应的https上
```POST http://stsqapi.tibosi.com/user/login```
被 301 跳转变成
```GET https://stsqapi.tibosi.com/user/login```
导致POST data没发出去 ShiratoriAira 发表于 2021-8-19 01:12
把 `http://` 改成 `https://`
即
谢谢两位老师,我这边显示登录成功了,我请再请教下为什么登录成功,但是返回的cookies为空啊,是不是我找的接口url不对 我觉得你的目标是题库,就不要把现在的工作重心放到登陆获取cookie,可以先研究获取题库的api之类的。
可以登录后先找到获取题库的api,然后F12找到你自己的cookie,把cookie写死。
Loker 发表于 2021-8-19 09:19
我觉得你的目标是题库,就不要把现在的工作重心放到登陆获取cookie,可以先研究获取题库的api之类的。
...
好的,谢谢您,我本来还想高级一点来的,但我是个小白哈哈哈,我试试直接写死获取题库:lol zhaoqingp 发表于 2021-8-19 08:19
谢谢两位老师,我这边显示登录成功了,我请再请教下为什么登录成功,但是返回的cookies为空啊,是不是我 ...
这个API不依赖cookie保持后续的登陆状态,而是从resp.text获得token(本例中应该是那个guid),每次操作带上token来判断用户。
页:
[1]
2