python 爬取驗證碼 組合隨機大小寫字串

2021-08-21 21:42:45 字數 1250 閱讀 8709

閒來無事,爬取網頁玩的時候,發現某**的驗證碼是區分大小寫的,但打碼平台只能返回小寫,腫麼辦呢,想了個比較low的方法,把所有可能的結果列出來,寫個多執行緒去訪問,總有一款適合你,不廢話直接上碼。下面的方法就是將任意長度的字串列出所有的大小寫組合:

from itertools import combinations

def combination(code):

result_list =

code = code.lower()

for i in range(len(code)):

combins = [c for c in combinations(range(len(code)),i)]

for j in combins:

code_old =

for y in code:

for z in j:

code_old[z] = code_old[z].upper()

return set(result_list)

a = combination(code="abcd")

print a

print len(a)

結果如下:

set(['abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd'])

16

之後就可以起個執行緒池去爬取了。

2023年10月24日

新方法,利用笛卡爾積運算得到結果

from itertools import product

for x,y,z,f in product(['a','a'],['b','b'],['c','c'],['d','d']):

print(x,y,z,f)

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

a b c d

python 爬取12306驗證碼

import ssl import urllib2 i 1import time while 1 不加的話,無法訪問12306 time.sleep 1 有時需要加延時,以防被封。i i 1 f.write data f.close 以下就是爬取的 的截圖 12306的驗證碼經常讓人眼花繚亂,眼睛仔...

隨機驗證碼 python

功能 隨機驗證碼 日期 01 22 2019 注意 randrange 返回乙個遞增集合的隨機數,使用它必須匯入random包 randint 返回乙個隨機數 chr 返回乙個字元,以整數為引數 import random def check code check code for i in ran...

python爬蟲 爬取驗證碼並識別

步驟 呼叫平台 這裡使用的是超級鷹 提供的示例 進行資料識別 爬取古詩文網登入介面的驗證碼並識別 from lxml import etree from hashlib import md5 import requests import self class chaojiying client ob...