python爬蟲 古詩文網驗證碼識別

2021-10-25 15:06:03 字數 2946 閱讀 7259

古詩文網驗證碼識別,是通過對古詩文網登陸介面的驗證碼進行識別的,利用專門的驗證碼識別**,可以提取驗證碼中的驗證碼

**推薦:超級鷹

註冊登陸超級鷹**

因為驗證碼識別需要消耗題分,所以需要先購買題分(1塊錢1000題分,每次識別10題分就差不多了)

選擇"軟體id"選項,生成乙個軟體id(後面會用到),只需要自己填寫乙個軟體名稱即可

'''1. 匯入chaojiying中的chaojiying_client類

最好確保chaojiying檔案和當前py檔案在同級目錄下'''

from chaojiying import chaojiying_client

import os

# 2. 將解析中的驗證碼封裝成乙個方法

defgetcode

(filepath)://

2.1 只需要修改使用者名稱、密碼和軟體id即可

chaojiying = chaojiying_client(

'超級鷹使用者名稱'

,'超級鷹使用者名稱的密碼'

,'96001'

)#使用者中心》軟體id 生成乙個替換 96001

需要修改從古詩文網中爬取驗證碼的路徑

im =

open

(filepath,

'rb'

).read(

)#本地檔案路徑 來替換 a.jpg 有時win系統須要//

print

(chaojiying.postpic(im,

1902))

#1902 驗證碼型別 官方**》**體系 3.4+版 print 後要加()

# 3. 建立乙個資料夾,存放驗證碼

ifnot os.path.exists(

'./gushi'):

os.mkdir(

'./gushi'

)# 4. 獲取頁面中的驗證碼

# 7. 呼叫識別方法,識別驗證碼

getcode(img_path)

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 =

defpostpic

(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(

)

中國古詩文Python爬蟲JJJ

import requests import re defparse page url headers response requests.get url,headers headers text response.content.decode utf 8 text response.text pr...

scrapy框架爬取古詩文網的名句

使用scrapy框架爬取名句,在這裡只爬取的了名句和出處兩個字段。具體解析如下 items.py 用來存放爬蟲爬取下來的資料模型,如下 import scrapy class qsbkitem scrapy.item content scrapy.field auth scrapy.field pi...

爬蟲 驗證碼處理

關的門戶 在進行登入的時候,如果使用者連續登入的次數超過3次或者5次的時候,就會在登入頁中動態生成驗證碼。通過驗證碼達到分流和反爬的效果。雲打碼平台處理驗證碼的實現流程 3.可以將驗證碼提交給三方平台進行識別,返回驗證碼上的資料值 雲打碼平台 1.在官網中進行註冊 普通使用者和開發者使用者 2.登入...