`self.urlOpen=urllib.request.urlopen("http://facebook.com")
self.content=self.urlOpen.read()
soup=BeautifulSoup(self.content,"html5lib")
self.links=soup.find_all("a")`
'charmap'编解码器无法对字符进行编码....
所以当我尝试编码汤变量时
self.urlOpen=urllib.request.urlopen("http://facebook.com")
self.content=self.urlOpen.read()
soup=BeautifulSoup(self.content,"html5lib")
soup=soup.encode("utf-8")
self.links=soup.find_all("a")
'bytes'对象没有名为find_all
的属性
我试过了
self.urlOpen=urllib.request.urlopen("http://facebook.com")
self.content=self.urlOpen.read()
soup=BeautifulSoup(self.content.decode("utf-8","ignore"),"html5lib")
self.links=soup.find_all("a")
但发生同样的错误
那我应该怎么编码呢?
答案 0 :(得分:0)
问题是什么?
find_all
不应该抛出编码错误,并且您不应该在encode
对象上调用bs4.BeautifulSoup
,因为encode
会返回字节字符串 - 而不是汤! - 所以你不能打电话给find_all
。
你在任何地方使用soup.prettify()
吗?在那种情况下,这可能是抛出错误的一行。请添加Minimal, Complete and Verifiable example代码。