Python Google关键词搜索 Google人机验证打码

环境:

win10
python3.6.1
pycharm2017
selenium=3.141.0
requests=2.22.0

  • 搜索接口
https://google.com/search?q="{quote_plus(word)}"&filter=0&biw=1366&bih=657&start={start}

人机识别打码:

  • 检测人机验证

    def machine_verification(self):
       	"""检测人机验证"""
        if '系统检测到您的计算机网络中存在异常流量' not in self.driver.page_source:
            return False
        recaptcha = self.driver.find_element_by_xpath('//div[@id="recaptcha"]')
        log_init().info('人机验证')       
        return recaptcha.get_attribute("data-sitekey")
    
  • 人机识别打码:
    https://2captcha.com 使用的这个平台,
    具体使用方法查看API开发文档,有详细的文档说明。 Python Google关键词搜索 Google人机验证打码_第1张图片

    具体教程很多了,不做过多介绍了。
    (需,需要工具和免费节点私聊我)

        def captcha_api(self, data_sitekey, page_url):
        """打码"""      
        api_key = "平台key"        
        url_one= f"https://2captcha.com/in.php?key={api_key}&method=userrecaptcha&googlekey={data_sitekey}&pageurl={page_url}&json=1&invisible=1"
        res_one = requests.get(url_one)        
        res_one = res_one.json().get("request")
        url_two= f"https://2captcha.com/res.php?key={api_key}&action=get&id={int(rid)}&json=1"        
        time.sleep(25)
        count = 0
        while True:
            if count > 3:
                log_init().error('人机识别打码失败,请检查网络状态或打码平台余额是否充足!')
                return
            res_two = requests.get(url_two)            
            if res_two.json().get("status") == 1:
                form_tokon = res_two.json().get("request")
                break
            count += 1
            time.sleep(5)
        log_init().info('成功获取人机识别码')
        # 提交打码结果
        wirte_tokon_js = f'document.getElementById("g-recapcha-response").innerHTML="{form_tokon}";'
        submit_js = 'document.getElementById("capcha-form").submit();'
        self.driver.execute_script(wirte_tokon_js)
        time.sleep(1)
        self.driver.execute_script(submit_js)
        log_init().info('人机识别提交成功')
    

关键词搜索

def keyword_search(self, word, start):
    """关键词搜索"""
    url = f'https://google.com/search?q="{quote_plus(word)}"&filter=0&biw=1366&bih=657&start={start}'
    self.driver.get(url)
    while True:
        if 'www.google.com' not in self.driver.current_url:
            continue
        break

运行效果

Python Google关键词搜索 Google人机验证打码_第2张图片


本文仅供学习交流使用,如侵立删!
企鹅 、WX: 1033383881


你可能感兴趣的:(Python Google关键词搜索 Google人机验证打码)