文章转载于:selenium也能过某数、5s盾…
直接安装:
pip install undetected_chromedriver
运行代码:
import undetected_chromedriver as uc
import time
driver = uc.Chrome(executable_path=r'C:\Users\chromedriver.exe',version_main=111)
driver.get('网址')
time.sleep(20)print(driver.page_source)print(driver.get_cookie())
神奇的地方就在源码里面:
另外一个神奇的库:
pip install selenium-wire
from seleniumwire.undetected_chromedriver.v2 import Chrome, ChromeOptions
import time,gzip
if __name__ =='__main__':
options ={}
chrome_options = ChromeOptions()
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--headless")# chrome_options.add_argument(f"--proxy-server=http://192.168.100.24:60021")
chrome_options.add_argument("--disable-popup-blocking")
chrome_options.add_argument("--profile-directory=Default")
chrome_options.add_argument("--ignore-certificate-errors")
chrome_options.add_argument("--disable-plugins-discovery")
chrome_options.add_argument('--no-first-run')
chrome_options.add_argument('--no-service-autorun')
chrome_options.add_argument('--no-default-browser-check')
chrome_options.add_argument('--password-store=basic')
chrome_options.add_argument('--no-sandbox')
browser = Chrome(seleniumwire_options=options, options=chrome_options,executable_path=r'C:\Users\chromedriver.exe',version_main=111)
browser.get('网址')
time.sleep(35)
print(browser.page_source)forrequestin browser.requests:
if request.response:
print(request.path)if'getZxajslData'in request.path:
# if 'shipments' in request.path:# print(request.response.body)#获取内容为乱码可尝试用以下方法解码
print(gzip.decompress(request.response.body).decode("utf-8"))
这个库的优点就是能获取打开这个页面后,发出请求返回的结果,灰常好用
奇怪的是这个库明明也使用了
undetected_chromedriver
,但是访问相同的网站却需要验证。
版权归原作者 埃菲尔没有塔尖 所有, 如有侵权,请联系我们删除。