Здравствуйте, есть код, который парсит выдачу гугл и записывает, есть ли страница в поиске (в индексе) если нет то (не в индексе). Столкнулся с ситуацией, что парсер залез в каптчу и дальнейшие данные парсинга неверны. Подскажите как можно обойти каптчу? пробовал никак не получается. В python я новичек
import requests
import pandas as pd
from concurrent.futures import ThreadPoolExecutor, as_completed
import undetected_chromedriver as webdriver
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
}
options = {
'muteHttpExceptions': True,
'followRedirects': False
}
def check_url(url):
resp = f'https://www.google.ru/search?q=site:{url}'
response = requests.get(resp, options, headers=headers).text
if "ничего не найдено" in response:
return url, "Не в индексе"
else:
return url, "В индексе"
def main():
with open('all-website-url.txt', encoding="utf-8") as f:
urls = [line.strip() for line in f]
results = []
with ThreadPoolExecutor() as executor:
futures = [executor.submit(check_url, url) for url in urls]
for future in as_completed(futures):
url, status = future.result()
results.append({"URL": url, "Статус": status})
print(f"{url}: {status}")
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--use_subprocess")
browser = webdriver.Chrome(options=chrome_options)
browser.get('https://www.google.ru/')
browser.save_screenshot('screenshot.png')
df = pd.DataFrame(results)
df.to_excel('./googlecheckindex.xlsx', index=False)
if __name__ == '__main__':
main()