<p>我认为这里的主要问题是您试图使用<code>requests</code>来获取动态生成的内容,注意页面的HTML源代码中根本没有<code>participant_name col_participant_name col_name</code>文本,这意味着这是由网站用JavaScript生成的。对于该工作,您应该使用类似<a href="http://selenium-python.readthedocs.io/" rel="nofollow noreferrer">^{<cd3>}</a>和<a href="https://sites.google.com/a/chromium.org/chromedriver/downloads" rel="nofollow noreferrer">^{<cd4>}</a>或您认为更好的驱动程序,下面是使用上述两种工具的示例:</p>
<pre><code>from bs4 import BeautifulSoup
from selenium import webdriver
url = "http://www.flashscore.com/hockey/finland/liiga/"
driver = webdriver.Chrome()
driver.get(url)
source = driver.page_source
soup = BeautifulSoup(source, "lxml")
elements = soup.findAll('td', {'class':"participant_name col_participant_name col_name"})
</code></pre>
<p>我认为代码的另一个问题是您试图访问标记的方式,如果您想匹配特定的<code>class</code>或任何其他特定属性,那么可以使用Python的字典作为<code>.findAll</code>函数的参数。在</p>
<p>我们现在可以使用cd7来找到<cd7}的名称,这样我们就可以使用cd7}</p>
^{pr2}$
<p><code>teams</code>现在应该是所需的输出:</p>
<pre><code>>>> teams
['Assat', 'Hameenlinna', 'IFK Helsinki', 'Ilves', 'Jyvaskyla', 'KalPa', 'Lukko', 'Pelicans', 'SaiPa', 'Tappara', 'TPS Turku', 'Karpat', 'KooKoo', 'Vaasan Sport', 'Jukurit']
</code></pre>
<p><code>teams</code>也可以使用<em>列表理解</em>创建:</p>
<pre><code>teams = [item.a.text for item in elements]
</code></pre>