找人帮忙。我正在做一个项目,用Python中的beautifulsoup来抓取Craigslist的特定帖子。我可以成功地显示在文章标题中找到的表情符号,但在帖子正文中没有成功。我尝试过不同的变体,但到目前为止没有任何效果。任何帮助都将不胜感激。在
代码:
f = open("clcondensed.txt", "w")
html2 = requests.get("https://raleigh.craigslist.org/wan/6078682335.html")
soup = BeautifulSoup(html2.content,"html.parser")
#Post Title
title = soup.find(id="titletextonly")
title1 = soup.title.string.encode("ascii","xmlcharrefreplace")
f.write(title1)
#Post Body
body = soup.find(id="postingbody")
body = str(body)
body = body.encode("ascii","xmlcharrefreplace")
f.write(body)
从正文收到的错误:
^{pr2}$
您应该使用
unicode
请参考靓汤文档NavigableString
更新:
很抱歉回答得太快了。不是这样的。在
这里您应该使用} 表情符号。在
lxml
解析器而不是html
解析器,因为html
解析器不支持^{在我的测试中,当
NCR
表情符号的十进制值大于65535,例如html演示表情符号🚢
,HTML
解析器只是用错误的unicode\ufffd
而不是u"\U0001F6A2"
对其进行解码。我找不到精确的Beautiful Soup reference
,但是lxml
解析器就可以了。在测试代码如下:
^{pr2}$你可以引用lxml entity handling来做更多的事情。在
如果不安装
lxml
,只需参考lxml installing。在希望这能有所帮助。在
相关问题 更多 >
编程相关推荐