擅长:python、mysql、java
<p>您需要使用类似于<code>selenium</code>的方法来获取html。但您可以继续使用<code>BeautifulSoup</code>对其进行如下解析:</p>
<pre><code>from bs4 import BeautifulSoup
from operator import itemgetter
from selenium import webdriver
url = "http://www.oddsportal.com/soccer/england/premier-league/everton-arsenal-tnWxil2o#over-under;2"
browser = webdriver.Firefox()
browser.get(url)
soup = BeautifulSoup(browser.page_source)
data_table = soup.find('div', {'id': 'odds-data-table'})
for div in data_table.find_all_next('div', class_='table-container'):
row = div.find_all(['span', 'strong'])
if len(row):
print ','.join(cell.get_text(strip=True) for cell in itemgetter(0, 4, 3, 2, 1)(row))
</code></pre>
<p>这将显示:</p>
^{pr2}$
<hr/>
<p><strong>更新</strong>-正如@JRodDynamite建议的那样,运行无头<code>PhantomJS</code>可以代替<code>Firefox</code>。为此:</p>
<ol>
<li><p>下载<a href="http://phantomjs.org/download.html" rel="nofollow">PhantomJS Windows binary</a>。</p></li>
<li><p>提取<code>phantomjs.exe</code>可执行文件并确保它在您的路径中。</p></li>
<li><p>更改以下行:<code>browser = webdriver.PhantomJS()</code></p></li>
</ol>