Python爬蟲百度雲加速驗證碼問題

2021-09-25 18:05:32 字數 3628 閱讀 9291

初學者用笨拙的requests.get各種嘗試

獲取驗證碼和sessionstr

訪問url:captcha.su.baidu.com/session_cb/pub=&callback=callback

在response中獲取sessionstr

訪問url:

session=後填寫上步獲得sessionstr

(pub值我這裡看是不變的,不知道別人那裡怎麼樣)

人工識別驗證碼

testcode=input("驗證碼:」)

合成最終驗證鏈結,訪問後獲取cookie

訪問url:http://【】/cdn-cgi/l/chk_captcha?s=&id=&captcha_challenge_field=&manual_captcha_challenge_field=

其中:s等於第一步s,id等於第一步id,captcha_challenge_field等於第二步sessionstr,manual_captcha_challenge_field等於第三步人工識別驗證碼testcode

特別提示

import requests

("驗證碼:"

)url_finaltest=test_code

header=

cookiestr=

"__cfduid=d065c414b8038a7e37a08c19ec38dc5ba1561956739; um_distinctid=16bd43d3ae5ef-0fddc885546556-43450521-1fa400-16bd43d3ae6622; p**_pvi=1668221952; _ga=ga1.2.1107443465.1562633913; hm_lvt_6121c137910457c550f533490d449957=1562635173,1562906808,1564105223; _gid=ga1.2.1468546746.1564386430; __atuvc=24%7c28%2c10%7c29%2c5%7c30%2c2%7c31; cnzzdata1261857817=90924701-1562633067-%7c1564472807; cnzzdata1277219225=1241614942-1562630884-%7c1564472424; hm_lvt_af921870f8ea1d356f9d403ce4edfc92=1564103796,1564386429,1564454948,1564476300; hm_lvt_f75b813e9c1ef4fb27eaa613c9f307b2=1564103797,1564386429,1564454948,1564476300"

cookie=

for item in cookiestr.

split

(";"):

cookie[item.

split

("=")[

0]]=item.

split

("=")[

1]print

(cookie)

url_target=r"【】"

ft=requests.

get(url=url_finaltest,headers=header,cookies=cookie)

rq1=requests.

get(url=url_target,cookies=ft.cookie)

print

(rq1.content.

decode

("utf8"

))

向最終驗證鏈結傳送請求以後,response.body為空(b』 ')

使用response.cookie向目標鏈結傳送請求依然顯示需要驗證

問題依然沒有解決 淚目!!!

求各位大神指導

百度雲鏈結爬蟲搭建記錄

create database pan default charset utf8 git clone 開啟 bin spider.py 修改 db host db port db user db pass 如果你是第一次部署,需執行下面命令,完成做種 python bin spider.py see...

Python爬蟲 百度貼吧

get請求 from urllib import request import urllib import time 第一頁 第二頁 2 1 50 第三頁 3 1 50 第四頁 4 1 50 第n頁 n 1 50 推測第一頁 headers 根據url傳送請求,獲取伺服器響應檔案 defloadpa...

python百度貼吧爬蟲

coding utf 8 coding utf 8 import urllib import urllib2 import reimport thread import time class bdtb def init self,baseurl,seelz self.baseurl baseurl ...