我试图在以下代码行中获取属性“data-o”的值:
<td class="bc bs oi" data-odig="2.55" data-o="17/11" data-hcap="">17/11</td>
这是我的代码(我指的是上面有td标记的网址)
import urllib.request
from bs4 import BeautifulSoup
x = urllib.request.urlopen('https://www.oddschecker.com/football/champions-
league/bayern-munich-v-paris-st-germain/winner')
soup = BeautifulSoup(x.read())
alltd = soup.find_all('td')
for n in alltd:
print(n['data-o'])
我总是收到错误消息...... 有些帮忙吗?
非常感谢!
答案 0 :(得分:0)
由于class
标记对于您想要的'data-o'
项是唯一的,因此您可能希望使用语法{'class': 'class_name'}
来仅 那些<td>
class='bc bs oi'
首先包含'data-o'
的标签,然后为每个项目打印import urllib.request
from bs4 import BeautifulSoup
x = urllib.request.urlopen('https://www.oddschecker.com/football/champions-
league/bayern-munich-v-paris-st-germain/winner')
soup = BeautifulSoup(x.read(), 'html.parser')
alltd = soup.find_all('td', {'class': 'bc bs oi'})
for item in alltd:
print item['data-o']
项。
6/4
17/11
13/8
23/10
输出:
list
或者您只想要print [str(item['data-o']) for item in alltd]
['6/4', '17/11', '13/8', '23/10']
:
http://www.google.com,
http://www.yahoo.com,
http://www.amazon.com
希望这有帮助。