python常见问题集合

1.urllib.error.URLError . certificate verify failed: unable to get local issue

  • 是python2.79以后版本的原因
    https链接不是从签发机构买的
    所以失败了,加一句ssl._create_default_https_context = ssl._create_unverified_context
    就可以

2.Python 出现 can’t use a string pattern on a bytes-like object

  • Python3.0及以上版本在学到爬虫是需要注意的,如果没有这些红色的代码的话可能会出现以下情况:
  • TypeError:cannot use a string pattern on a bytes-like object 这种情况解决方法就是加上html=html.decode(‘utf-8’)#python3这句代码;
  • AttributeError: module ‘urllib’ has no attribute 'urlopen’这种情况的解决办法就是将urllib改成urllib.request就行了。

3. urllib.error.HTTPError: HTTP Error 403: Forbidden

  • 出现这种情况就是因为你要爬取的网站对爬虫进行了限制。
  • 用浏览器去查看他的User-Agent,然后加入
def getHtml(url):
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0'}
    page1=urllib.request.Request(url,headers=headers)
    page=urllib.request.urlopen(page1)

    html=page.read()
opener = urllib.request.build_opener()
                opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36')]
                urllib.request.install_opener(opener)
                urllib.request.urlretrieve(imgurl, '/Users/XXX/%s.jpg' % imagename)

4. TypeError: a bytes-like object is required, not 'str’
出错代码

strr = "hello world"
strEncoded = base64.b64encode(strr)

改为

strr = "hello world"
strEncoded = base64.b64encode(str.encode(strr))

5.Mac 安装mysqlclient报错,OSError: mysql_config not found

brew install mysql-connector-c  
pip install mysqlclient  

然后还有错:
Exception: Wrong MySQL configuration: maybe https://bugs.mysql.com/bug.php?id=86971 ?

先备份
cp /usr/local/bin/mysql_config /usr/local/bin/mysql_config.backup 
sudo vim /usr/local/bin/mysql_config 

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "
修改成
# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

6. brew安装软件很慢

  • 离线下载响应文件
  • 将离线文件放到brew的目录下
  • 重新执行安装
# cd `brew --cache`
     //进入brew的下载目录 
    # rm go-1.6.2.el_capitan.bottle.tar.gz
     //删除刚才下载一半的文件
    # mv /Downloads/go-1.6.2.el_capitan.bottle.tar.gz ./
    //将下载好的压缩包放到brew下载目录
    brew install XXX

猜你喜欢

转载自blog.csdn.net/weixin_40632321/article/details/84634551