Python 漂亮汤中的css选择器找不到标记

Python 漂亮汤中的css选择器找不到标记,python,html,css,beautifulsoup,Python,Html,Css,Beautifulsoup,有很多类似的问题,但都没有回答我的问题。我正在尝试使用CSS选择器在BeautifulSoup中查找标记 我从中抓取的url在我的代码中 下面是一些测试代码,希望能说明我的问题: url = "https://www.basketball-reference.com/boxscores/201510310MEM.html" response = urlopen(url) html = response.read().decode() # proves the elemen

有很多类似的问题,但都没有回答我的问题。我正在尝试使用CSS选择器在BeautifulSoup中查找标记

我从中抓取的url在我的代码中

下面是一些测试代码,希望能说明我的问题:

url = "https://www.basketball-reference.com/boxscores/201510310MEM.html"
response = urlopen(url)
html = response.read().decode()

# proves the element I am selecting exists in the html
print(html.find("table class=\"suppress_all stats_table\" id=\"four_factors\" data-cols-to-freeze=\",1\"")) 

soup = BeautifulSoup(html, 'html.parser')

# this line prints a similar piece of data to the one I want, but not correct
print(soup.select('tbody > tr > td[data-stat="off_rtg"]')[0].get_text())

# when I try being more specific, it prints an empty list
print(soup.select('table[id="four_factors"] tbody > tr > td[data-stat="off_rtg"]'))
输出:

78720
98
[]
102.5

正如我的代码所示,可以使用python的String.find()方法找到的元素由于某种原因对BeautifulSoup是不可见的。我尝试过使用BeautifulSoup.find()和.findAll()代替css选择器,结果相同。我尝试过使用lxml解析器,但结果相同。

之所以出现这种情况,是因为该表位于HTML注释(
)中

您可以提取表,检查标记是否属于以下类型:

输出:

78720
98
[]
102.5

请提供一个指向您正在抓取的html的链接(例如使用pastebin),而不是一个图像,这使测试更容易:)我可以尝试,但如果您需要完整的html,您不能直接转到代码中的链接,右键单击,然后选择“检查”吗@SeonMy bad,我读得很快,错过了链接。这很有效!但我有几个问题:1。我在页面的html中的注释中找到了表的一个版本,但我也在任何注释之外找到了一个版本。你可以在我帖子的图片中看到任何评论之外的版本。如果在评论中,突出显示将是绿色的,对吗?2.如果该表位于注释中,为什么它会显示在网页上?该页面由js呈现。因此,它以注释的形式输入源html,然后运行javascript创建您在站点上看到的表。