from selenium import webdriver
def q():
id_num=[]
front_6=['210402','210411','210404','210403']
middle_8='19990427'
for i in front_6:
for j in range(10): # 15
for k in range(10): # 16
for l in [0,2,4,6,8]: # 17
id_num.append(f'{i}{middle_8}{j}{k}{l}')
return id_num
def public_global_browser():
options = webdriver.ChromeOptions()
options.add_argument(
'user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"')
options.add_argument('--disable-gpu') # 规避bug
# options.add_argument('--headless') # 无头模式
options.add_argument('--no-sandbox') # 最高权限运行
options.add_argument("--disable-javascript") # 禁用JavaScript
options.add_argument('--start-maximized ')
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation']) # 设置开发者模式启动,该模式下webdriver属性为正常值
prefs = {'profile.default_content_setting_values': {'notifications': 2}}
options.add_experimental_option('prefs', prefs) # 禁用浏览器弹窗
driver = webdriver.Chrome(options=options)
driver.execute_cdp_cmd("Network.enable", {})
script = '''Object.defineProperty(navigator, 'webdriver', {get: () => undefined})'''
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})
driver.implicitly_wait(0.1)
return driver
def wite(dirver,i):
dirver.find_element_by_xpath('/html/body/main/article/div[1]/form/span[2]/input[1]').clear()
dirver.find_element_by_xpath('/html/body/main/article/div[1]/form/span[2]/input[1]').send_keys(i)
dirver.find_element_by_xpath('/html/body/main/article/div[1]/form/span[2]/input[2]').click()
dirver = public_global_browser()
all_num = q()
dirver.get('https://bajiu.cn/sfz/')
with open('身份证.csv','a',encoding='utf-8') as f:
for i in all_num:
wite(dirver, f'{i}0')
try:
err = dirver.find_element_by_xpath('/html/body/main/article/div[2]/p[2]').text
if '的末位数错误' in err:
wite(dirver, f'{i}{err[-3:-2]}')
except:
pass
try:
haoma = dirver.find_element_by_xpath('/html/body/main/article/div[2]/p[2]').text
xingbie = dirver.find_element_by_xpath('/html/body/main/article/div[2]/p[4]').text
fazheng = dirver.find_element_by_xpath('/html/body/main/article/div[2]/p[5]').text
if '女' in xingbie:
print(f'{haoma} {fazheng}')
f.write(f'{haoma} {fazheng}\n')
except:
pass
f.close()
from selenium import webdriver
import re
from PIL import Image
import base64
import requests
import json
def public_global_browser():
options = webdriver.ChromeOptions()
options.add_argument(
'user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"')
options.add_argument('--disable-gpu') # 规避bug
# options.add_argument('--headless') # 无头模式
options.add_argument('--no-sandbox') # 最高权限运行
options.add_argument("--disable-javascript") # 禁用JavaScript
options.add_argument('--start-maximized ')
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation']) # 设置开发者模式启动,该模式下webdriver属性为正常值
prefs = {'profile.default_content_setting_values': {'notifications': 2}}
options.add_experimental_option('prefs', prefs) # 禁用浏览器弹窗
driver = webdriver.Chrome(options=options)
driver.execute_cdp_cmd("Network.enable", {})
script = '''Object.defineProperty(navigator, 'webdriver', {get: () => undefined})'''
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})
driver.implicitly_wait(0.1)
return driver
def wite(dirver,i,code):
dirver.find_element_by_xpath('//*[@id="sfz"]').clear()
dirver.find_element_by_xpath('//*[@id="sfz"]').send_keys(i)
dirver.find_element_by_xpath('//*[@id="verify"]').clear()
dirver.find_element_by_xpath('//*[@id="verify"]').send_keys(code)
def auth_code(dirver):
element = dirver.find_element_by_xpath('//*[@id="img_verifys"]')
left = element.location['x']
top = element.location['y']
right = element.location['x'] + element.size['width']
bottom = element.location['y'] + element.size['height']
dirver.save_screenshot('screenshot.png')
im = Image.open('screenshot.png')
im = im.crop((left, top, right, bottom))
im.save('screenshot.png')
with open('screenshot.png', 'rb') as pic_file:
img64=base64.b64encode(pic_file.read())
params = {
"username": '68110923',
"password": 'q1515311352',
"captchaData": img64,
"captchaType": 1001
}
response = requests.post("http://www.bingtop.com/ocr/upload/", data=params)
code = json.loads(response.text).get('data','').get('recognition')
return code
if __name__ == '__main__':
ls = []
with open('身份证.csv', 'r', encoding='utf-8') as f:
for i in f.readlines():
id = re.findall('身份证号码:(.*?) ', i)[0]
ls.append(id)
dirver = public_global_browser()
dirver.get('http://cjcx.neea.edu.cn/html1/folder/20051/1156-1.htm')
dirver.find_element_by_xpath('//*[@id="xm"]').send_keys('李雨菲雪')
for i in ls:
code = auth_code(dirver)
print(f'{i},{code}')
wite(dirver,i,code)
dirver.find_element_by_xpath('//*[@id="submitButton"]').click()
网友评论