a_string = soup.find(text='围')
soup.find_all('title', limit=1)
# [<title>The Dormouse's story</title>]
soup.find('title')
# <title>The Dormouse's story</title>
无论如何我在使用beautifulsoup时能用汉字处理吗?
尝试了一段时间,似乎无法检测到这个角色。英文字符很好用
我与
合作的网站来源<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="gbk" />
答案 0 :(得分:1)
尝试类似:
a_string = soup.find(text=re.compile(u'围', re.U))
换句话说,应该确保搜索到的字符串是unicode。它可以在没有re.compile()
的情况下工作,但至少要确保您的中文字符串包含在u''
答案 1 :(得分:1)
当您使用find(text='something')
时,它会搜索包含文本的文本节点&#39;某些内容&#39;没有别的。
如果要查找包含特定字母的文本,或者匹配任何其他正则表达式,则必须使用正则表达式模式(如@Yannis所说):
soup.find(text=re.compile(u'定'))
请注意,re.U
标志不是必需的,因为您不会更改特殊字符(如\ s或\ w)的行为。如果是这种情况,那么您可能需要提供它。详细了解正则表达式here