首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >握手失败;返回-1,SSL错误代码% 1,net_error -201

握手失败;返回-1,SSL错误代码% 1,net_error -201
EN

Stack Overflow用户
提问于 2020-08-18 18:10:14
回答 1查看 6.7K关注 0票数 0

我正在尝试使用python和selenium进行web抓取,但是每当我运行代码时,都会收到错误消息。

代码语言:javascript
运行
复制
[4824:524:0818/154954.605:ERROR:ssl_client_socket_impl.cc(959)] handshake failed; returned -1, SSL error code 1, net_error -201
[4824:524:0818/154954.614:ERROR:ssl_client_socket_impl.cc(959)] handshake failed; returned -1, SSL error code 1, net_error -201
[4824:524:0818/154954.721:ERROR:ssl_client_socket_impl.cc(959)] handshake failed; returned -1, SSL error code 1, net_error -201
[4824:524:0818/154954.730:ERROR:ssl_client_socket_impl.cc(959)] handshake failed; returned -1, SSL error code 1, net_error -201
Empty DataFrame
Columns: [Rank, Country, Total Cases, New Cases, Deaths, New Deaths, Recovered, Active Cases, Critical]
Index: []

我的代码我正在尝试使用selenium访问一个名为worldometer的网站,并使用pandas从他们网站上的表格中提取数据。我以前使用selenium访问过其他网站,但当时没有给出错误提示。我使用的是python版本3.6.8

我尝试了一些修复方法,比如安装证书,但没有安装。我还尝试了其他修复方法,比如添加--ignore- OpenSSl -errors和--ignore-ssl-errors,但这也不起作用

代码语言:javascript
运行
复制
import pandas as pd
import time

# Covid 19 Webscraper

browser = webdriver.Chrome('C:\\webdrivers\\chromedriver.exe')

# opening sites

browser.get("https://www.worldometers.info/coronavirus/")
time.sleep(15)

#creating Data Frame

df = pd.DataFrame(columns=['Rank','Country','Total Cases','New Cases','Deaths','New Deaths','Recovered','Active Cases','Critical'])

# finding xpath and info

for i in browser.find_elements_by_xpath("//*[@id='main_table_countries_today']/tbody/tr"):
    td_list = i.find_elements_by_tag_name('td')
    row = []
    for td in td_list:
        row.append(td.text)
    data={}
    for j in range(len(df.columns)):
        data[df.columns[j]] = row[j]
    
    df.append(data, ignore_index=True)
print(df)
EN

回答 1

Stack Overflow用户

发布于 2020-08-18 19:12:54

看起来你的浏览器商店没有网站所需的证书。请使用chrome选项,如下所示:

代码语言:javascript
运行
复制
options = webdriver.ChromeOptions()
options.add_argument("--ignore-certificate-error")
options.add_argument("--ignore-ssl-errors")
browser = webdriver.Chrome('C:\\webdrivers\\chromedriver.exe',options=options)
browser.get("https://www.worldometers.info/coronavirus/")

具备以下功能:

代码语言:javascript
运行
复制
caps = webdriver.DesiredCapabilities.CHROME.copy()
caps['acceptInsecureCerts'] = True
caps['acceptSslCerts'] = True
driver = webdriver.Chrome(desired_capabilities=caps)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63466426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档