[英]BeautifulSoup couldn't find everything
我正在尝试从 web 页面中抓取一些数据,我要抓取的数据设置如下:
<div id="pagetitle">
<a href="some_link">some_text</a>
"some_text2"
<a href="some_link2">some_text3</a>
</div>
我正在尝试获取some_text3
我正在尝试使用此代码
soup = soup(page, "html5lib")
author = soup.find('div', {'id' : 'pagetitle'}).a.string
print(author)
当我这样做时,我只得到some_text
我也尝试过:
author = soup.find_all('a', {'id' : 'pagetitle'})
但我得到一个空列表,我也尝试过:
author = soup.find(id='pagetitle').prettify()
我得到了整个代码,但我不知道如何只得到some_text3
我也尝试使用不同的解析器,但如果这很难理解,它们都没有工作也很抱歉,但这是我的第二个问题,我会接受所有建议如果有。
您可以将 CSS 选择器与:nth-last-child()
一起使用。 例如:
from bs4 import BeautifulSoup
html_doc = """
<div id="pagetitle">
<a href="some_link">some_text</a>
"some_text2"
<a href="some_link2">some_text3</a>
</div>"""
soup = BeautifulSoup(html_doc, "html.parser")
txt = soup.select_one("#pagetitle > a:nth-last-child(1)").text
print(txt)
印刷:
some_text3
或者:使用[-1]
获取最后一个元素:
txt = soup.select("#pagetitle a")[-1].text
print(txt)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.