Python2.7. 访问一个HTTPS网站并获取内容

10 浏览
0 Comments

Python2.7. 访问一个HTTPS网站并获取内容

大家早上好,

我一直在尝试通过Python 2.7访问一个HTTPS网站,但无法访问到内容,而且多天的研究也没有帮到我。

这个网站是:https://www.cioh.org.co/。在Python中,我希望能够访问该页面并获取所有的HTML内容。以前,我会使用ssl模块,并在顶部添加以下代码:

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

这次,这个方法不起作用,我得到了错误:SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)

当使用requests模块和requests.get('https://www.cioh.org.co/')的时候。

从某些网站上,有人指出可以使用以下方法:

import requests

r = requests.get(URL, verify=False)

print r.text

我也尝试了这个方法,但实际上它并没有抓取到内容。它只是从网站获取了内部的头部信息,如下所示:






打印出来的响应与网站完全不同。通过无数次的研究,我尝试了使用certifi模块。我还安装了OpenSSL并提取了.crt、.key和.pem文件(并尝试使用它们),但仍然没有运气。如果需要,我可以进一步展开我所做的研究。如果我在任何方面没有表达清楚,请告诉我。提前感谢你们的帮助。

副记:这是我第一次创建账号并提问。如果我表达的不清楚,请告诉我。谢谢。

0
0 Comments

Python2.7访问HTTPS网站并检索内容的问题是由于无法直接访问HTTPS网站而引起的。为了解决这个问题,可以使用selenium库来模拟浏览器的行为。

首先,需要安装geckodriver来支持使用Firefox浏览器。具体的安装教程可以参考这个链接:instructions。然后,使用pip3命令安装selenium库:pip3 install selenium

接下来,可以使用以下代码来实现访问并抓取HTTPS网页的内容:

from selenium import webdriver
def scrape_page(url):
    browser = webdriver.Firefox()
    browser.get(url)
    content = browser.page_source
    browser.close()
    return content
if __name__ == "__main__":
    print(scrape_page('https://www.cioh.org.co/'))

这段代码通过创建一个Firefox浏览器对象,然后打开指定的URL,并获取网页的源代码。最后关闭浏览器并返回网页内容。

需要注意的是,这种实现方式可能比较笨拙,但是它是有效的。希望这个方法对您有所帮助。

0
0 Comments

Python2.7版本中访问HTTPS网站并检索内容时出现了问题。根据响应中的Incapsula_Resource,您的请求被WAF(网络应用防火墙)阻止了。您可以尝试在requests.get调用中更改用户代理字符串,使其看起来更像常规浏览器,但该网站的所有者显然不希望自动化脚本爬取其页面。您可以参考quora.com/…中的解决方法。

0