Sie einen CSS-Selektor verwenden können, die Spanne Ziehen Sie den Titeltext möchten mit:
soup = BeautifulSoup("""<div class="systemRequirementsMainBox">
<div class="systemRequirementsRamContent">
<span title="000 Plus Minimum RAM Requirement">1 GB</span> </div>""", "xml")
print(soup.select_one("span[title*=RAM]").text)
dass die Spanne mit einem Titel Attribut findet, die RAM enthält, ist es gleichwertig Sprechen in Python, if "RAM" in span["title"]
.
Oder mit finden mit re.compile
import re
print(soup.find("span", title=re.compile("RAM")).text)
alle Daten zu erhalten:
from bs4 import BeautifulSoup
r = requests.get("http://www.game-debate.com/games/index.php?g_id=21580&game=000%20Plus").content
soup = BeautifulSoup(r,"lxml")
cont = soup.select_one("div.systemRequirementsRamContent")
ram = cont.select_one("span")
print(ram["title"], ram.text)
for span in soup.select("div.systemRequirementsSmallerBox.sysReqGameSmallBox span"):
print(span["title"],span.text)
die Ihnen:
000 Plus Minimum RAM Requirement 1 GB
000 Plus Minimum Operating System Requirement Win Xp 32
000 Plus Minimum Direct X Requirement DX 9
000 Plus Minimum Hard Disk Drive Space Requirement 500 MB
000 Plus GD Adjusted Operating System Requirement Win Xp 32
000 Plus GD Adjusted Direct X Requirement DX 9
000 Plus GD Adjusted Hard Disk Drive Space Requirement 500 MB
000 Plus Recommended Operating System Requirement Win Xp 32
000 Plus Recommended Hard Disk Drive Space Requirement 500 MB
Können Sie das teilen umgebende HTML? (oder die URL) –
@PadraicCunningham Ja, nur eine min bitte – GLHF
Versuchen Sie auch 'supp.select_one (" span [title * = RAM] "). Text' und wenn Sie über die Liste iterieren Sie bereits den Text –