首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例)(3)

python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例)(3)

三种方式的例子
一、模拟登录后再携带得到的cookie访问–POST 请求方法–以抓取雅卓app为例

首先,我们要找到 POST 请求的 URL。

在Fiddler中操作一次登录,看看提交的信息如下:

同时可以看到提交的参数有哪些。

url如下:
https://yzapi.yazio.com/v1/oauth/token

参数如下:

{"username":"383@qq.com","grant_type":"password","client_id":"3_5rbw4kehpugw8ogsc8ck8oo4ogswgckcskc04gcg8kk8k48ssw","password":"123","client_secret":"25gdtt1hvdi8gwowoww4oo88sgsw0oo04o0og0kkgwwks8k0k"}

    1

这些就是我们需要post时需要携带的参数,或者可以尝试一下只post关键字段,比如username和password。

参数构造非常简单,接下来只需要利用 Requests.post 方法请求登录网站,然后就可以爬取内容了。

代码如下:

import requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',
    }
data = {
    'username':'383@qq.com',   
    'password':'123',
}
url ='https://yzapi.yazio.com/v1/oauth/token'
session = requests.Session()
session.post(url,headers = headers,data = data)
# 登录后,我们需要获取另一个网页中的内容
response = session.get('https://yzapi.yazio.com/v1/user',headers = headers)
print(response.status_code)
print(response.text)
返回列表