我正在尝试解析以下页面:http://www.oddsportal.com/soccer/france/ligue-1-2015-2016/results/
我感兴趣的部分是获得表格以及得分和赔率。
到目前为止我的代码:
url = "http://www.oddsportal.com/soccer/france/ligue-1-2015-2016/results/"
req = requests.get(url, timeout = 9)
soup = BeautifulSoup(req.text)
print soup.find("div", id = "tournamentTable"), soup.find("#tournamentTable")
>>> <div id="tournamentTable"></div> None
非常简单,但我很奇怪地坚持找到树上的桌子。虽然我发现已经准备好的数据集,但我想知道为什么打印的字符串是标签而没有。
有什么想法吗?
谢谢
答案 0 :(得分:0)
看起来表格中填充了一个Ajax回调服务器。这就是为什么你打印soup.find("div", id = "tournamentTable")
只得到空标签的原因。当您打印soup.find("#tournamentTable")
时,您将获得无,因为它正在尝试使用标记“#tournamentTable”查找元素。如果你想使用CSS选择器,你应该使用soup.select()
这样的soup.select('#tournamentTable')
或soup.select('div#tournamentTable')
,如果你想更加特别的话。
答案 1 :(得分:0)