FindAllを使用して、ページに表示される順序で2つのタグを取得する方法を探しています。
現在私は持っています:
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」または「strong」のみを含むページでそれを使用すると、これらのタグがすべて取得されます。両方を持つタグで使用すると、「strong」タグが取得されます。
これを行う方法はありますか?私の主な関心事は、タグが見つかる順序を維持することです。
リストを渡す 、hr
またはstrong
タグのいずれかを見つけることができます。
tags = soup.find_all(['hr', 'strong'])
正規表現を使用します。
_import re
get_tags = soup.findAll(re.compile(r'(hr|strong)'))
_
式r'(hr|strong)'
は、hr
タグまたはstrong
タグのいずれかを検出します。