我知道如何从孩子那里得到父母,但我如何从父母那里得到孩子:
aaa = soup.findAll(string=re.compile('Last 30 days'))
Views = aaa[0].findParent().text
以上让我成为父母。但是如果我这样做:
aaa = soup.findAll(string=re.compile('Last 30 days'))
Views = aaa[0].findChild().text
它不起作用,并出现错误"NavigableString"对象没有属性"findChild"。任何帮助将不胜感激,谢谢
按 class = sidebar sbt
过滤掉必要的div
。使用get_text()
获取每个div
的文本,并检查此div
是否包含您的必要信息。然后找到p
来排除不必要的texts
,使用get_text()
并去除多余的空格和新行。按空格拆分字符串并获取列表的 3 个元素。再次加入以获得您想要的string
。
注意:可能有更简单的方法来处理string
。
import requests
from bs4 import BeautifulSoup
url = "http://www.zoopla.co.uk/for-sale/details/44118383?search_identifier=e31406ce57c4397baa6701b11e7cdab1"
html = requests.get(url)
soup = BeautifulSoup(html.text, "lxml")
divs = soup.find_all("div", class_="sidebar sbt")
for div in divs:
text = div.get_text().lower()
if(text.find("first listed") > -1):
text = div.find("p").get_text()
text = text.replace("n","",10)
text = text.strip()
text_list = text.split()[-3:]
text = " ".join(text_list)
print(text)
break
如果您需要第一个列出的部分的整个string
,请避免拆分和加入。