Ответ 1
Вы можете передать список, чтобы найти теги hr
или strong
:
tags = soup.find_all(['hr', 'strong'])
Я ищу способ использования findAll для получения двух тегов в порядке их появления на странице.
В настоящее время у меня есть:
import requests
import BeautifulSoup
def get_soup(url):
request = requests.get(url)
page = request.text
soup = BeautifulSoup(page)
get_tags = soup.findAll('hr' and 'strong')
for each in get_tags:
print each
Если я использую это на странице с только "em" или "сильным" в нем, тогда он получит все те теги, если я буду использовать их с обоими, они получат "сильные" теги.
Есть ли способ сделать это? Моя главная задача - сохранить порядок, в котором найдены теги.
Вы можете передать список, чтобы найти теги hr
или strong
:
tags = soup.find_all(['hr', 'strong'])
Используйте регулярные выражения:
import re
get_tags = soup.findAll(re.compile(r'(hr|strong)'))
Выражение r'(hr|strong)'
найдет теги hr
или теги strong
.