Python 如何使用Bs4从DOM层次结构中的不同位置提取类似的信息?

Python 如何使用Bs4从DOM层次结构中的不同位置提取类似的信息?,python,beautifulsoup,Python,Beautifulsoup,我试图从以下两个页面的一系列页面中获取信息: 我想做的是建立一个刮刀,可以拉下来的文本“见大会版本的这项法案”。在上面列出的两个链接中,类是相同的,但对于一个页面,它是该类的唯一迭代,但对于另一个页面,它是第三个 我正在尝试做类似这样的工作: assembly_version = soup.select_one(".bill-amendment-detail content active > dd") print(assembly_version) 但我一直得到N

我试图从以下两个页面的一系列页面中获取信息:

我想做的是建立一个刮刀,可以拉下来的文本“见大会版本的这项法案”。在上面列出的两个链接中,类是相同的,但对于一个页面,它是该类的唯一迭代,但对于另一个页面,它是第三个

我正在尝试做类似这样的工作:

assembly_version = soup.select_one(".bill-amendment-detail content active > dd")
print(assembly_version)
但我一直得到
None


有什么想法吗?

你说的“仅”和“第三次迭代”是什么意思?整个网站都在
JS
后面,所以你得到的
None
是因为
BeautifulSoup
看不到动态内容。如果你能够使用它,Selenium可以看到动态内容。选中此项。@Cagri作为第一个链接,我指的是这个类:c-block c-bill-section c-bill——详细信息在HTML树中只出现一次。对于第二个链接,同一个类有4个。(我第一次算错了。)如果问题只是
BeautifulSoup没有看到@baduker提到的动态内容,请尝试这样做:
url = "https://www.nysenate.gov/legislation/bills/2019/s11"
raw_html = requests.get(url).content
soup = BeautifulSoup(raw_html, "html.parser")

assembly_version = soup.find(class_="c-block c-bill-section c-bill--details").find("a").text.strip()
print(assembly_version)