Поиск, существует ли какой-либо тег в ответе HTML, и печать, если / иначе, соответственно - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь собрать данные с веб-сайта (используя Python).В webpage есть несколько списков программного обеспечения и в каждом списке.Мои данные находятся внутри тега (h5) и определенного класса ('price_software_details).

Однако в некоторых случаях тег вместе с данными отсутствует.Я хочу напечатать сообщение «NA», если данные и тег отсутствуют, иначе он должен напечатать данные.

Я попробовал код, который я упомянул ниже, хотя он не работает.Помогите пожалуйста!


interest = soup.find(id = 'allsoftware')
for link in interest.findAll('h5'):
    if link.find(class_ = 'price_software_details') == True:
        print(link.getText())
    else:
        print('NA')

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Вы должны знать, soup.find() никогда не будет True. Это будет только результат или None.

interest = soup.find(id = 'allsoftware')
for link in interest.findAll('h5'):
    if link.find(class_ = 'price_software_details'):
        print(link.getText())
    else:
        print('NA')
0 голосов
/ 19 октября 2018

Вы пробовали обработку ошибок (попробуйте, кроме)?

interest = soup.find(id='allsoftware')
for link in interest.findAll('h5'):
    try: 
        item = link.find({'class':'price_software_details'})
        print(item.get_text())
    except:
        print('NA')
...