网页抓取时如何通过人工验证?

问题描述 投票:0回答:1

我正在尝试用Python编写网页抓取代码,但是登录网站后,由于人工验证,其访问始终被拒绝。

我使用了下面的代码,网站上写着以下内容:

“访问此页面已被拒绝,因为我们相信您正在使用自动化工具浏览该网站。这可能是由于以下原因导致的:

Javascript 被禁用或被扩展程序阻止(例如广告拦截器)

您的浏览器不支持cookies

请确保您的浏览器启用了 Javascript 和 cookie,并且您没有阻止它们加载。”

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

def login(login_page, my_username, my_password):
    user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36"

    options = webdriver.EdgeOptions()
    options.add_argument(f"user-agent={user_agent}")
    options.add_argument("--enable-javascript")

    driver = webdriver.Edge(options=options)
    driver.set_window_size(1080, 800)
    driver.get(login_page)

    driver.find_element(By.ID, "username").send_keys(my_username) 
    driver.find_element(By.ID, 'loginbutton').click()

    time.sleep(1)

    driver.find_element(By.ID, "password").send_keys(my_password) 
    driver.find_element(By.ID, 'loginbutton').click()

    return(driver)
python selenium-webdriver web-scraping
1个回答
0
投票

您好,首先您想抓取哪个网站?

*** 尝试使用 ---> https://pypi.org/project/undetected-chromedriver/ *** 但它仅适用于 chrome *** 你也可以尝试拦截请求,否则 exe js 不太可能引发 cdp 检测标志

© www.soinside.com 2019 - 2024. All rights reserved.