2016-10-28 17 views
0

私はjupytherノートブックを使ってウェブページから項目を抽出しています。SSLError with jupyter notebook

import requests 
from scrapy.http import TextResponse 

start_url = 'https://www.insulation-expo.com/exhibito...16_72.html?offset=0&az=B&aid=34908&return=MzY6TDJWNGFHbGlhWFJ2TGk0dU1UWmZOekl1YUhSdGJEOXZabVp6WlhROU1DWmhlajFD#content'  
r = requests.get(start_url) 
response = TextResponse(r.url, body=r.text, encoding='utf-8') 

そして、私は取得していますエラー:

SSLError: hostname 'www.insulation-expo.com' doesn't match either of 'www.reedexpo.de', 'reedexpo.de' 

私ができる私はページの内容を読み込むことができそうだ一部のページについては は、THOSは、私が使用しているコードです。

scrapy shell 'https://www.insulation-expo.com/exhibito...16_72.html?offset=0&az=B&aid=34908&return=MzY6TDJWNGFHbGlhWFJ2TGk0dU1UWmZOekl1YUhSdGJEOXZabVp6WlhROU1DWmhlajFD#content' 

答えて

2

問題は、クライアントがSSLハンドシェイク中に対象のホスト名を送信する。すなわち、Server Name Indication (SNI)を使用していないことですが、シェルでページを開きます。これは、サーバーが正しい証明書を提供できるように、すでにSSLハンドシェーク内の同じIPアドレス上の異なるホストを区別するために必要です。 SNIがなければ、SSLクライアントはこのIPアドレスのwww.reedexpo.deの証明書を取得します。 SNIを使用してSSLハンドシェイクにホスト名www.insulation-expo.comを含めることによって、クライアントは代わりにこのホスト名に対して有効な証明書を取得します。

scrapy sniを検索する際にヒット数が多く、この情報から、1.0.0(2015-06-19)または1.1.0(2016-05-11)のいずれかの問題を修正する必要があると思われる場合があります。 。だからあなたの治療のバージョンが最新のものであることを確認してください。

関連する問題