为了账号安全,请及时绑定邮箱和手机立即绑定

该网站变成了https需要如何爬虫呢

该网站变成了https需要如何爬虫呢

正在回答

2 回答

方法是一样的吧~

本人使用python 3.7 ,入口地址如下:

https://baike.baidu.com/item/Python/407313?fr=aladdin 

https://baike.baidu.com/item/Python/407313 

我就是按照老师的步骤。只输出了一条,就报错了(报错内容太长了,没全粘过来):

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:864)>

后找到了解决办法,原文链接:http://bookshadow.com/weblog/2015/04/22/sae-python-weibo-sdk-certificate-verify-failed/

Python 升级到 2.7.9 之后引入了一个新特性,当使用urllib.urlopen打开一个 https 链接时,会验证一次 SSL 证书。而当目标网站使用的是自签名的证书时就会抛出本人遇到的错误。

已验证链接中第一种方案有效:

import urllib.request
import string
import ssl
 
class HtmlDownloader(object):
 
    def download(self, url):
        if url is None:
            return
             
        context = ssl._create_unverified_context()
        response = urllib.request.urlopen(url, context=context)
 
        if response.getcode() != 200:
            return
 
        return str(response.read(), encoding='utf-8')

 不知道你要问的是不是这个呢?

0 回复 有任何疑惑可以回复我~

正则表达式那块改成re.compile(r"/item/(.*)")

可以先学一下正则表达式 

上面表示的意思说是含/item并以任何形式为后缀的数据

如果百度百科继续改动url的话需要再做改进!

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

该网站变成了https需要如何爬虫呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信