Ich bin auf der Suche nach einer Möglichkeit, findAll zu verwenden, um zwei Tags zu erhalten, in der Reihenfolge, die sie auf der Seite erscheinen.Python BeautifulSoup geben mehrere Tags zu findAll
Zur Zeit habe ich:
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
Wenn ich das mit auf einer Seite verwenden nur ‚em‘ oder ‚stark‘ in ihm, dann wird es mir all diese Tags bekommen, wenn ich auf einem mit beiden verwenden es wird "starke" Tags erhalten.
Gibt es eine Möglichkeit, dies zu tun? Mein Hauptanliegen ist es, die Reihenfolge zu erhalten, in der die Tags gefunden werden.
Ich denke soup.findAll ([ 'hr', 'starke']) könnte die Arbeit erledigen, find_all nicht ausgeführt. – r0sk
@ r0sk: 'find_all()' ist der korrekte Name auf beautifulsoup4. Klicken Sie auf den Link in der Antwort. 'findAll()' ist für BeautifulSoup 3, das durch Beautiful Soup 4 ersetzt wird. – jfs