所以,我正在尝试编写一个脚本来登录https://us.etrade.com/e/t/user/login
我正在使用 Selenium,但它在启动时以某种方式检测到 selenium,并产生一条消息,指出服务器拥挤,当发生这种情况时,我无法登录。我也尝试过使用 unDetected-selenium 以及硒是隐形的,但两者也都被检测到。我真的需要自动化这个登录过程。我尝试过使用 python requests 但不起作用。我对任何其他允许我实现这种自动化的技术或方法持开放态度。请帮忙。
这是我的代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium_stealth import stealth
import time
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
# chrome_options.add_argument('--browser')
chrome_options.add_argument('--no-sandbox')
# chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)
wd = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
stealth(wd,
languages=["en-US", "en"],
vendor="Google Inc.",
platform="Win32",
webgl_vendor="Intel Inc.",
renderer="Intel Iris OpenGL Engine",
fix_hairline=True,
)
wd.get("https://us.etrade.com/e/t/user/login")
Run Code Online (Sandbox Code Playgroud) python selenium selenium-webdriver botdetect selenium-stealth
我们有BotDetect的许可证.我想用Angular js实现这个BotDetect.我在谷歌搜索我发现没有任何适当的帮助,但是,我有angularjs-captcha看起来很有希望,但没有帮助我.
这正是我所需要的.
这是我的形式
<form ng-submit="Submit($event)">
<table width="100%" cellpadding="0" cellspacing="1" align="center">
<tr>
<td class="datafield">
<label>Name:</label>
<span class="red">*</span>
</td>
<td class="datafield">
<input type="text" maxlength="50" class="searchboxmain" placeholder="enter name..."
ng-model="Form.Name" />
</td>
</tr>
<tr>
<td class="datafield">
<label>Email:</label>
<span class="red">*</span>
</td>
<td class="datafield">
<input type="email" maxlength="240" class="searchboxmain" placeholder="enter email..."
ng-model="Form.Email" />
</td>
</tr>
<tr>
<td class="datafield">Enter Captcha
</td>
<td class="datafield">
<botdetect-captcha>
<br />
<input type="text" id="CaptchaCodeTextBox" ng-model="Form.Captcha"/>
</td>
</tr>
<tr>
<td class="datafield"></td>
<td class="datafield"> …Run Code Online (Sandbox Code Playgroud) 我实际上正在尝试从不同的网站上抓取一些汽车数据,我一直在 chromebrowser 中使用 selenium,但有些网站实际上通过验证码验证阻止了 selenium(例如: https: //www.leboncoin.fr/),这只是1 或 2 个请求。我尝试在 chromebrowser 中更改 $_cdc 但这并没有解决问题,并且我一直在 chromebrowser 中使用这些选项
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'
options = webdriver.ChromeOptions()
options.add_argument(f'user-agent={user_agent}')
options.add_argument('start-maximized')
options.add_argument('disable-infobars')
options.add_argument('--profile-directory=Default')
options.add_argument("--incognito")
options.add_argument("--disable-plugins-discovery")
options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors", "safebrowsing-disable-download-protection", "safebrowsing-disable-auto-update", "disable-client-side-phishing-detection"])
options.add_argument('--disable-extensions')
browser = webdriver.Chrome(chrome_options=options)
browser.delete_all_cookies()
browser.set_window_size(800,800)
browser.set_window_position(0,0)
Run Code Online (Sandbox Code Playgroud)
我试图抓取的网站使用 DataDome 来保证机器人安全,有什么线索吗?
我是网络抓取的新手,我试图创建一个抓取器,它可以查看播放列表链接并获取音乐和作者的列表。
但该网站一直拒绝我的连接,因为它认为我是机器人,所以我使用 UserAgent 创建一个假的 useragent 字符串来尝试绕过过滤器。
有点效果吗?但问题是,当你通过浏览器访问网站时,你可以看到播放列表的内容,但是当你尝试用请求提取html代码时,播放列表的内容只是一个很大的空白。
也许我必须等待页面加载?或者有更强大的机器人过滤器?
import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
ua = UserAgent()
melon_site="http://kko.to/IU8zwNmjM"
headers = {'User-Agent' : ua.random}
result = requests.get(melon_site, headers = headers)
print(result.status_code)
src = result.content
soup = BeautifulSoup(src,'html.parser')
print(soup)
Run Code Online (Sandbox Code Playgroud)