初學者用笨拙的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 ...