爬蟲之ssh證書警告錯誤

爬蟲之ssh證書警告錯誤

1.錯誤信息

錯誤信息:equests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)

2.分析

ssh證書是美國網景公司發放的一個安全認證證書,有了這個證書便可證實網站是安全的,可是認證是須要收費的,python

因此一些網站就會本身仿造證書,這個時候瀏覽器就會給予警告,而咱們爬蟲就爬不到想要的信息瀏覽器

3.解決辦法

  • 方法一:
    加上一個參數:verify=證書路徑,或verify=False安全

    如:ssh

    import request
    url = 'xxxxx'
    req = requests.get(url,verify=False)
    print(req.text)
  • 方法二:網站

    ssl._create_default_https_context=`ssl._create_unverified_context#注意用了這個就不能用requests了,得用urllib2.Request`url

    python2中code

# 方法二(推薦):
  import ssl
import urllib2
  
  ssl._create_default_https_context =ssl._create_unverified_context
  req =urllib2.Request('xxxx')
  data =urllib2.urlopen(req).read()
  print(data)

python3中server

import ssl
import urllib.request
ssl._create_default_https_context =ssl._create_unverified_context
data =urllib.request.urlopen('xxxx').read()
print(data)
相關文章
相關標籤/搜索