将.split()函数与urllib.request一起使用时出错

时间:2017-05-18 16:57:32

标签: python python-3.x typeerror urllib python-3.6

我试图将英国广播公司的来源分成两部分,以获得最高标题:

canvas

但是我收到了这个错误:

import urllib.request

url = 'http://www.bbc.com/'
page = urllib.request.urlopen(url)
contents = page.read()
page.close()

split1 = '<a class="media__link" href="/news/world-us-canada-39965107" rev="hero1|headline">\n'
split2 = '\n</a>'

title = contents.split(split1)[1].split(split2)[1]

print(title)

1 个答案:

答案 0 :(得分:1)

  

HTTPResponse.read([amt])

     

读取并返回响应正文,或者直到下一个amt字节。

contents = page.read()

返回一个bytes对象,而不是str。因此拆分定界符也需要是字节对象。只需在字符串前添加b即可。

split1 = b'<a class="media__link" href="/news/world-us-canada-39965107" rev="hero1|headline">\n'
split2 = b'\n</a>'