あなたはクラスteam-name
とアンカー内部略称タグからtitle属性たい:
h = """<div class="teams" data-behavior="fix_broken_images"><a name="&lpos=mlb:schedule:team" href="/mlb/team/_/name/kc"><img src="http://a.espncdn.com/combiner/i?img=/i/teamlogos/mlb/500/scoreboard/kc.png&h=50" class="schedule-team-logo"></a></div><a name="&lpos=mlb:schedule:team" class="team-name" href="/mlb/team/_/name/kc"><span>Kansas City</span> <abbr title="Kansas City Royals">KC</abbr></a>"""
soup = BeautifulSoup(h)
print(soup.select_one("a.team-name abbr")["title"])
あなたに与えます:
Kansas City Royals
または検索を使用しました:
h = """<div class="teams" data-behavior="fix_broken_images"><a name="&lpos=mlb:schedule:team" href="/mlb/team/_/name/kc"><img src="http://a.espncdn.com/combiner/i?img=/i/teamlogos/mlb/500/scoreboard/kc.png&h=50" class="schedule-team-logo"></a></div><a name="&lpos=mlb:schedule:team" class="team-name" href="/mlb/team/_/name/kc"><span>Kansas City</span> <abbr title="Kansas City Royals">KC</abbr></a>"""
soup = BeautifulSoup(h)
print(soup.find("a", attrs={"class":"team-name"}).abbr["title"])
これは、サイトからのすべての名前を取得します
:
from bs4 import BeautifulSoup
import requests
url = "http://espn.go.com/mlb/schedule"
soup = BeautifulSoup(requests.get(url).content)
table = soup.select_one("table.schedule.has-team-logos")
print([a["title"] for a in table.select("a.team-name abbr")])
出力:
['Detroit Tigers', 'Washington Nationals', 'Kansas City Royals', 'New York Yankees', 'Oakland Athletics', 'Boston Red Sox', 'Pittsburgh Pirates', 'Cincinnati Reds', 'Milwaukee Brewers', 'Miami Marlins', 'Chicago White Sox', 'Texas Rangers', 'San Diego Padres', 'Chicago Cubs', 'Baltimore Orioles', 'Minnesota Twins', 'Cleveland Indians', 'Houston Astros', 'Arizona Diamondbacks', 'Colorado Rockies', 'Tampa Bay Rays', 'Seattle Mariners', 'New York Mets', 'Los Angeles Dodgers', 'Toronto Blue Jays', 'San Francisco Giants']
htmlのない画像 –
が完了します。それは大丈夫だと思っています – l3g10n3