Пример #1
0
 def __init__(self):
     self.url = 'https://my.cn.china.cn/manage.php?op=LoginShowNew'
     self.browser = webdriver.Chrome()
     self.wait = WebDriverWait(self.browser, 20)
     self.email = ACCOUNT
     self.password = PASSWORD
     self.chaojiying = ChaojiyingClient(CJY_USERNAME, CJY_PASSWORD,
                                        CJY_SOFT_ID)
Пример #2
0
 def __init__(self):
     self.url = 'https://kyfw.12306.cn/otn/resources/login.html'
     # path是谷歌浏览器驱动的目录,如果已经将目录添加到系统变量,则不用设置此路径
     path = r'F:\PycharmProjects\Python3爬虫\chromedriver.exe'
     chrome_options = Options()
     chrome_options.add_argument('--start-maximized')
     self.browser = webdriver.Chrome(executable_path=path,
                                     chrome_options=chrome_options)
     self.wait = WebDriverWait(self.browser, 20)
     self.username = USERNAME
     self.password = PASSWORD
     self.chaojiying = ChaojiyingClient(CHAOJIYING_USERNAME,
                                        CHAOJIYING_PASSWORD,
                                        CHAOJIYING_SOFT_ID)
Пример #3
0
 def __init__(self):
     self.login_url = "https://passport.bilibili.com/login"
     caps = DesiredCapabilities().FIREFOX
     firefox_options = Options()
     firefox_options.headless = True
     self.browser = webdriver.Firefox(
         executable_path="/Users/chloeji/geckodriver",
         capabilities=caps,
         options=firefox_options)
     self.driver_wait = WebDriverWait(self.browser, 60)
     """
     设置超级鹰的用户名、密码以及软件 ID
     """
     self.chaojiying = ChaojiyingClient(CHAOJIYING_USERNAME_,
                                        CHAOJIYING_PASSWORD_,
                                        CHAOJIYING_SOFT_ID_)
Пример #4
0
def parse_html(html):
    # etree_html = etree.HTML(html)
    screenshot = get_big_image()
    screenshot.save('full_screen.png')

    x1, y1, x2, y2 = get_position()
    crop_image = screenshot.crop((x1, y1, x2, y2))
    file_name = 'crop.png'
    crop_image.save(file_name)

    # 向超级鹰发送图片,获取该图片的验证码
    chaojiying = ChaojiyingClient(username, password, '96001')
    im = open(file_name, 'rb').read()
    captha_str = chaojiying.PostPic(im, 1006)['pic_str']
    #  http: // bm.e21cn.com / log / reg.aspx   网站账户密码
    username_code = 'carmack55'
    password_code = '123456'
    tel = '18511405897'

    print(captha_str)

    input_username = wait.until(
        EC.presence_of_element_located((By.CSS_SELECTOR, 'input#username')))
    input_password1 = wait.until(
        EC.presence_of_element_located((By.CSS_SELECTOR, 'input#pwd')))
    input_password2 = wait.until(
        EC.presence_of_element_located((By.CSS_SELECTOR, 'input#pwd_Q')))
    input_tel = wait.until(
        EC.presence_of_element_located((By.CSS_SELECTOR, 'input#tel')))
    input_check = wait.until(
        EC.presence_of_element_located((By.CSS_SELECTOR, 'input#CheckCode')))
    sublime = wait.until(
        EC.element_to_be_clickable((By.CSS_SELECTOR, 'input#btn_login')))
    input_username.send_keys(username_code)
    input_password1.send_keys(password_code)
    input_password2.send_keys(password_code)
    input_tel.send_keys(tel)
    input_check.send_keys(captha_str)
    time.sleep(2)
    sublime.click()
Пример #5
0
def get_captcha(browser, class_str):
    """
    向超级鹰发送截下来的验证码图片,超级鹰返回验证码,得到图片验证码
    :param browser: 浏览器对象
    :param class_str: css选择器(定位网页中验证码节点元素)
    :return: 验证码字符串
    """
    full_screen_img = get_big_image(browser)
    #  保存文件在当前文件夹下,文件名为mobile_login.png(完全可以不保存大图)
    full_screen_img.save('mobile_login.png')

    # 获取验证码左上角和右下角坐标
    x1, y1, x2, y2 = get_captha_position(browser, class_str)

    captha_img = full_screen_img.crop((x1, y1, x2, y2))
    captha_img.save('mobile_captha.png')

    # 根据具体情况修改账号、密码、和验证码类型代号
    chaojiying = ChaojiyingClient('carmack', 'Vff635241', '96001')
    im = open('mobile_captha.png', 'rb').read()
    captha_str = chaojiying.PostPic(im, 1006)['pic_str']
    return captha_str