动态网页抓取(soup在发起某些请求时要求某个页面进行请求)
优采云 发布时间: 2021-11-25 22:12动态网页抓取(soup在发起某些请求时要求某个页面进行请求)
1.在发起某些请求时,可能会要求必须从某个页面发起请求。这时候会验证页面的token
2.这个token是动态生成的,每次请求的值都不一样,
fiddler 捕获的值不能作为固定值传入。 fiddler 捕获的值是某个请求的值。
当一个请求通过python发起时,就是一个新的请求。
所以需要先获取,然后传入。
类似于获取一个随机数,然后传递这个随机数
这里的例子是登录redmine,这个参数值是通过页面的input[name=authenticity_token]标签传入的
3.可以使用BeautifulSoup获取:
BeautifulSoup 用于抓取网页时解析网页,可以获取网页的标签。
这里用于获取input[name=authenticity_token]标签的authenticity_token值,
它的返回值是一个列表,内容是一个标签。获取标签中的属性值时,先通过列表索引知道元素,再通过key获取值
从 bs4 导入 BeautifulSoup
soup = BeautifulSoup(r2.text, ‘lxml’)
tag = soup.select('input[name=authenticity_token]')
data = {"utf8": "?",
"authenticity_token": tag[0][‘value‘],
"username": "liuhui",
"密码": "courageech123"}
res = s.post(url_2, data=data)
接口测试-chap6-获取页面动态令牌
原文: