2015-11-02 5 views
2

Я написал скребок, который анализирует 1 html-страницу с изменяющимися значениями.Скребок Beautifulsoup и если ... else

Этот код должен найти слово Test на странице. Когда он найдет это слово («Истина»), он должен напечатать I find, а когда он False - печать None.

Но когда я запускаю код, он печатает I find, несмотря на то, что это False.
Где ошибка?

search = soup.find('Test') 
if search: 
    print 'I find' 
else: 
    print 'None' 
+1

есть любой тег называется 'Test'? –

+0

Что делает 'print (search)' дает вам? –

+0

Я помню, что 'soup.find()' будет возвращать 'None', если ничего не найдено, поэтому он никогда не будет' False'. Но также, 'если None:' даст 'False'. И затем, 'soup.find()' только поиск HTML-тега на странице ... –

ответ

2

Try:

search = soup.find_all('Test') 
if len(search)>0: 
    print 'I find' 
else: 
    print 'None' 

или:

search = soup.select('Test') 
if len(search)>0: 
    print 'I find' 
else: 
    print 'None' 
+0

Да, я нашел ошибку. Спасибо! – Anna

+0

Ах! Спасибо. Затем нажмите кнопку галочки, чтобы принять ее как ответ – SIslam

Смежные вопросы