from selenium import webdriver
from PIL import Image
from lxml import etree
import time
from Cjy import Chaojiying_Client
def get_img():
driver.save_screenshot("main.png")
code_img = driver.find_element_by_id("vcodeImg")
location = code_img.location
size = code_img.size
#裁剪的区域范围
rangle = (int(location["x"]),int(location["y"]),int(location["x"]+size["width"]),int(location["y"]+size["height"]))
i = Image.open("./main.png")
frame = i.crop(rangle)
frame.save("code.png")
Image.open('./code.png')
def get_text(imgPath,imgType):
chaojiying = Chaojiying_Client('账号', '密码', '软件ID')
im = open(imgPath, 'rb').read()
return chaojiying.PostPic(im, imgType)["pic_str"]
if __name__ == "__main__":
driver = webdriver.Ie() # 调用IE浏览器
driver.get('http://www.miinac.gov.cn/components/newhome/index.jsp')
time.sleep(1)
get_img()
image_code = get_text("./code.png",1005)
print(image_code)
for number in range(10690050,10696999):
vcode = image_code
url = "http://www.miinac.gov.cn/components/common/displayCode.jsp?code="+ str(number) +"&codeusage=&customer=&province=0&vcode=" + vcode
driver.get(url)
html = driver.page_source
tree = etree.HTML(html)
trs = tree.xpath("//tr[@class='odd']")
for tr in trs:
code = tr.xpath(".//td[1]/text()")[0]
range = tr.xpath(".//td[2]/text()")[0]
company = tr.xpath(".//td[3]/text()")[0]
with open("code.txt","a",encoding="utf-8") as fp:
fp.write(code+"==="+range+"==="+company+"\n" )
driver.back()
driver.refresh()
time.sleep(1)
get_img()