爬蟲入門四(驗證碼識別和模擬登陸)

2022-09-15 17:45:09 字數 2529 閱讀 3473

超級鷹的使用流程:

# 超級鷹**

import requests

from hashlib import md5

class chaojiying_client(object):

def __init__(self, username, password, soft_id):

self.username = username

password = password.encode('utf8')

self.password = md5(password).hexdigest()

self.soft_id = soft_id

self.base_params =

self.headers =

def postpic(self, im, codetype):

"""im: 位元組

codetype: 題目型別 參考

"""params =

params.update(self.base_params)

files =

r = requests.post('', data=params, files=files, headers=self.headers)

return r.json()

def reporterror(self, im_id):

"""im_id:報錯題目的id

"""params =

params.update(self.base_params)

r = requests.post('', data=params, headers=self.headers)

return r.json()

# 執行**並封裝成函式

#封裝乙個識別驗證碼的函式

def transformcode(imgpath,imgtype):

chaojiying = chaojiying_client('bobo328410948', 'bobo328410948', '899370')

im = open(imgpath, 'rb').read()

return chaojiying.postpic(im, imgtype)['pic_str']

# 識別驗證碼

#處理cookie

session = requests.session()

#獲取且識別驗證碼

url = ''

page_text = session.get(url,headers=headers).text

tree = etree.html(page_text)

code_img_src = ''+tree.xpath('//*[@id="imgcode"]/@src')[0]

#解析出模擬登入請求中動態變化的兩個請求引數的之

__viewstate = tree.xpath('//*[@id="__viewstate"]/@value')[0]

__viewstategenerator = tree.xpath('//*[@id="__viewstategenerator"]/@value')[0]

#對進行請求時捕獲cookie

#驗證碼對應的文字資料

#對於登入按鈕的點選進行請求傳送

手寫爬蟲模擬登陸 無驗證碼

框架用多了,都是別人寫好的一些內容,最近想自己手寫乙份爬蟲模擬登陸系統,手寫有什麼好處呢?可以讓你更好的去理解爬蟲系統.我用的linux系統,pycharm版本3.6,首先手寫的你需要安裝requests pip3 install requests 我們以訪問抽屜為例 接下來我們模擬登陸,模擬登陸我...

python 識別登陸驗證碼筆記

先在網上擷取一張驗證碼 from pil import image import pytesseract im image.open 1.png img im.convert l 轉換為灰度圖 w,h img.size piaxdata img.load for x in range h 將點分為白...

python 爬蟲(7) 驗證碼登陸 12306

登陸乙個介面需要使用者名稱 密碼 還有驗證碼。驗證碼的辨識,一般都是第三方,且需要付費的。比如雲打碼,打碼兔,超級鷹。12306用的是超級鷹。得到驗證碼 1.訪問網頁 3.儲存到本地 4.識別驗證碼 得到字串或者數字 from lxml import etree import requests he...