簡體   English   中英

美麗的湯。找到漢字

[英]Beautiful Soup .find Chinese Characters

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" />

嘗試類似:

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

換句話說,應確保搜索到的字符串是unicode。 它可能不需要re.compile()即可工作,但至少要確保您的中文字符串包含在u''

當您使用find(text='something') ,它將搜索完全包含文本“ something”而不包含其他內容的文本節點。

如果要查找包含特定字母或與任何其他正則表達式匹配的文本,則必須改用正則表達式模式(如@Yannis所說):

soup.find(text=re.compile(u'定'))

請注意, re.U標志,因為您沒有更改\\ s或\\ w等特殊字符的行為。 如果真是這樣,那么您可能需要提供它。 這里查看更多有關正則表達式的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM