BeautifulSoup найти текст с и без регулярного выражения - PullRequest
9 голосов
/ 25 февраля 2011

HTML:

<td>some key
</td>

найти без регулярных выражений:

soup.find(text='some key')

возвращается Нет

найти с помощью регулярного выражения

soup.find(text=re.compile('some key'))

вернул узел td.

Кто-нибудь укажет на разницу между этими двумя подходами? «некоторый ключ» является литеральной строкой без специальных символов. Я заметил, что в конце «некоторого ключа» есть возврат каретки, который </td> появляется на следующей строке.

Спасибо.

1 Ответ

12 голосов
/ 25 февраля 2011

Beautifulsoup использует == для сопоставления содержимого между тегами и строкой поиска. Так как 'some key\r\n'! = 'some key', поиск не удался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...