chrome报错ssl_client_socket_impl.cc报错解决

背景

帮公司的一个爬虫项目安装完成了google chrome headless,其在使用selenium  + chrome爬取内部的一个合作厂家的站点信息时,出现了无法获取内容的情况,同时也没有明显的报错信息。使用内部httpd服务搭建的测试页,可以正常获取。

解决方法

帮其分析后,直接使用chrome --headless --disable-gpu --dump-dom https://www.testsite.com/时,发现报错:ERROR:ssl_client_socket_openssl.cc(1158)] handshake failed; returned -1, SSL error code 1, net_error -100 。这个报错信息就比较直观了,是SSL报错,也就是说明和HTTPS相关,通过检索相关信息,发现可以加两条即可解决问题:

options.add_argument('--ignore-certificate-errors')   #主要是该条
options.add_argument('--ignore-ssl-errors')

对应的完整的采集测试代码为:

from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--ignore-certificate-errors')
browser = webdriver.Chrome(options=chrome_options)
browser.get('https://www.361way.com')
data = browser.page_source




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. th
    2020年9月6日20:45 | #1

    密码保护文章需要怎么才能看???

    • admin
      2020年9月10日13:57 | #2

      付费可以看的。

    • admin
      2020年9月17日17:31 | #3

      由于云主机托管需要费用,加密文章88元可以查看。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.