Python 美丽的汤。找到汉字 a_string=soup.find(text=)围') soup.find_all('title',limit=1) #[睡鼠的故事] soup.find('title')) #睡鼠的故事

Python 美丽的汤。找到汉字 a_string=soup.find(text=)围') soup.find_all('title',limit=1) #[睡鼠的故事] soup.find('title')) #睡鼠的故事,python,selenium,python-3.x,beautifulsoup,Python,Selenium,Python 3.x,Beautifulsoup,在使用beautifulsoup时,我是否可以用汉字进行查找 试了一段时间,似乎无法检测字符。英语字符工作正常 我正在使用的网站的来源 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时,我是否可以用汉字进行查找

试了一段时间,似乎无法检测字符。英语字符工作正常

我正在使用的网站的来源

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>

尝试以下方法:

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
        <meta charset="gbk" />
换句话说,应该确保搜索的字符串是unicode。它可能在没有
re.compile()
的情况下工作,但至少要确保在使用
find(text='something')
时,您的中文字符串包含在
u'
中。它将搜索完全包含文本'something',而不包含其他内容的文本节点

如果要查找包含特定字母的文本,或匹配任何其他正则表达式,则必须改用正则表达式模式(如@Yannis所说):

请注意,
re.U
标志不是必需的,因为您没有更改特殊字符(如\s或\w)的行为。如果是这种情况,则可能需要提供它。有关正则表达式的详细信息,请参阅

a_string = soup.find(text=re.compile(u'围', re.U))
soup.find(text=re.compile(u'定'))