【发布时间】:2020-02-28 22:42:31
【问题描述】:
部分 html 的结构如下。我想从中得到工作的“职称”和“时间”。我可以单独获取它们,例如:
from bs4 import BeautifulSoup
pages = '<div class="content"> \
<a href="Org"> \
<h3 class="title"> \
Dep. Manager</h3> \
</a> \
<div class="contributor"></div> \
<p>John</p> \
<time class="time"> \
<span class="timestamp">May 02 2016</span> \
</time> \
</div>'
soup = BeautifulSoup(pages, "lxml")
soup.prettify()
s = soup.find_all(class_ = "title")[0]
t = soup.find_all('span', class_ = "timestamp")[0].text.strip()
pp_title = s.text.strip()
print t
print (pp_title)
它让我得到想要的东西。
Dep. Manager
May 02 2016
对于“时间”,我想要另一种方式来获取它,因为“时间”总是在“标题”下方。我试过这条线来获取“时间”,它不起作用。
print (s.parent.next_sibling.next_sibling)
从关系到“标题”获取“时间”的正确方法是什么?谢谢。
【问题讨论】:
标签: python parsing web-scraping beautifulsoup