首先假设我们还不知道网站有百度云加速检查,先直接获取。网址因某些原因屏蔽,但是不影响整体思路
shareurl = 'https:**************************' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', } response = httpx.get(shareurl, headers=headers) cookie = response.headers['set-cookie'].split(';')[0] ray = response.headers['cf-ray'].split('-')[0] posturl = '/'.join(shareurl.split('/')[:3])+html.unescape(re.findall('(?<=action=").+?(?=")', response.text)[0]) r = re.findall('(?<=value=").+?(?=")', response.text)[0] url = 'https://captcha.su.baidu.com/session_cb?pub=377e4907e1a3b419708dbd00df9e8f79' headers = { 'Host': 'captcha.su.baidu.com', 'Referer': shareurl, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } response = httpx.get(url, headers=headers).text session = response.split('"')[-2] url = 'https://captcha.su.baidu.com/image?session='+session+'&pub=377e4907e1a3b419708dbd00df9e8f79' response = httpx.get(url, headers=headers).content with open('验证码.jpg', 'wb') as f: f.write(response) yanzhengma = input('请输入同目录下的验证码:') headers = { 'content-type': 'application/x-www-form-urlencoded', 'cookie': cookie, 'referer': shareurl, 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', } data = { 'r': r, 'id': ray, 'captcha_challenge_field': session, 'manual_captcha_challenge_field': yanzhengma, } response = httpx.post(posturl, headers=headers, data=data) print(response.text)