Python 从内部SSL站点抓取数据
我正试图从公司内部发行票务网站上搜集数据。例如:最后5个字符表示票号 该网站只能通过公司网络访问。我可以单独访问每张票,但不能通过剪贴脚本。看起来公司网络上的任何东西都被屏蔽了。我们确实有一个开放的网络,我可以用它来浏览其他开放的网站,但不能浏览票务网站 我目前正在使用Beautiful Soup和类似的请求,并尝试了以下方法:Python 从内部SSL站点抓取数据,python,web-scraping,beautifulsoup,python-requests,python-3.6,Python,Web Scraping,Beautifulsoup,Python Requests,Python 3.6,我正试图从公司内部发行票务网站上搜集数据。例如:最后5个字符表示票号 该网站只能通过公司网络访问。我可以单独访问每张票,但不能通过剪贴脚本。看起来公司网络上的任何东西都被屏蔽了。我们确实有一个开放的网络,我可以用它来浏览其他开放的网站,但不能浏览票务网站 我目前正在使用Beautiful Soup和类似的请求,并尝试了以下方法: scrapegoat = requests.get('https://servicetickets.company.corp/issue/xxxxx') 打开网络时出
scrapegoat = requests.get('https://servicetickets.company.corp/issue/xxxxx')
打开网络时出错:
ConnectionError:HTTPSConnectionPool(host='support.abc.xyz.corp',port=443):url:/abc/support/message/17xxxxx3超过了最大重试次数(由NewConnectionError引起(':未能建立新连接:[Errno 8]提供了节点名或服务名,或未知')
内部网络错误:SSLError:HTTPSConnectionPool(host='support.abc.xyz.corp',port=443):url:/abc/support/message/17xxxxx53超过了最大重试次数(由SSLError(SSLError(“错误握手:错误”(('SSL例程','ssl3_获取服务器_证书','certificate very failed')),),)
然后,在内部网络上尝试此操作:
scrapegoat = requests.get('https://servicetickets.company.corp/issue/xxxxx', verify=False)
但这会返回一个 scrapegoat = requests.get('https://servicetickets.company.corp/issue/xxxxx', verify='/Users/username/anaconda3/lib/python3.6/site-packages/certifi/cacert.pem')
这些也会导致SSL错误
是否有人遇到过类似的问题并成功找到了解决方法?我们也欢迎你的建议 您是否尝试过不使用SSL,即
http://....
?祝你好运。我打赌你的浏览器中存储了一个PKI证书,当发出请求时,该证书将被传递到服务器。如果是这种情况,您可能可以将其导出、解密,并将其作为get
请求的一部分进行传递。@Sheller是的,它只能通过https访问。