can't use a string pattern on a bytes-like object

Python 出现 can't use a string pattern on a bytes-like object

  1. # coding=utf-8
  2. import urllib.request
  3. import re
  4. url = 'http://www.163.com'
  5. file = 'd:/test.html'
  6. data = urllib.request.urlopen(url).read()
  7.  
  8. r1 = re.compile('<.*?>')
  9. c_t = r1.findall(data)
  10. print(c_t)

发现读取下来后,运行到第9 行,出现:

can't use a string pattern on a bytes-like object

查找了一下,是说3.0现在的参数更改了,现在读取的是bytes-like的,但参数要求是chart-like的,找了一下,加了个编码:

data = data.decode('utf-8')

在与正则使用前,就可以正常使用了..

猜你喜欢

转载自blog.csdn.net/u010327784/article/details/82889911