沃尔玛被封锁

2024-04-27 04:07:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从第1-100页中删去沃尔玛的分类。在请求页面之前,我已经实现了随机标题和随机等待时间,但在抓取前几页之后,仍然会使用验证码。沃尔玛是超级擅长检测刮刀还是我做错了什么

我正在使用selenium、bs4和随机用户代理

代码:

# Randomize User Agents
software_names = [SoftwareName.CHROME.value]
operating_systems = [OperatingSystem.WINDOWS.value]

user_agent_rotator = UserAgent(
    software_names=software_names, operating_systems=operating_systems, limit=1000)

user_agents = user_agent_rotator.get_user_agents()

################################################

# Selenium
options = webdriver.ChromeOptions()
options.add_argument('--profile-directory=Profile 1')
options.add_argument('use-fake-ui-for-media-stream')
options.add_argument(
    'load-extension=' + r'ad blocker path here')
options.add_argument("window-size=900,1080")

driver = webdriver.Chrome(
    ChromeDriverManager().install(), options=options)

driver.execute_cdp_cmd('Network.setUserAgentOverride', {
    "userAgent": user_agent_rotator.get_random_user_agent()})
 driver.get(url)

 ################################################

# Randomize time between requests
time.sleep(randint(5, 15))  

这就是我一直试图做的,这样我就不会被阻止。有更好的方法吗?谢谢


Tags: addgetnamesvaluedriveroperatingsoftwareargument
1条回答
网友
1楼 · 发布于 2024-04-27 04:07:54

对于所有请求,您的IP仍然相同。 您可以考虑使用python requests with tor,当然这需要更长的时间,因为请求get是通过TOR路由的。我不熟悉使用selenium在TOR上应用proxying,但我敢打赌您可以找到很多教程

不过,沃尔玛有这种验证码机制可能是有原因的,所以也许可以寻找另一种获取数据的方法

相关问题 更多 >