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