尝试从python 2中的urllib转换到python 3.我可以使用.urlopen()输出html源代码但我无法使用.find()方法对其进行索引。
import urllib.request
fh = urllib.request.urlopen("http://stackoverflow.com")
html = fh.read()
fh.close()
print(html.find("<p>"))
我收到类型错误。我知道它返回了一个字节数组,但我对这实际意味着什么很模糊。我已经尝试了一些过时的问题like this。我的问题是:
是否有一种简单的本机方法可以将URL的页面源作为字符串在python 3中获取?
答案 0 :(得分:3)
使用html.decode('utf-8')
(或恰当的编码)来获取str
对象.find()
。
.decode()
用于获取一组平坦的字节并将它们(通过反转字符编码,如UTF-8)转换为一串实际代码点(可显示的符号)。