Python 从父母那里得到孩子的蟒蛇靓汤
我知道如何从孩子那里得到父母,但如何从父母那里得到孩子:Python 从父母那里得到孩子的蟒蛇靓汤,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我知道如何从孩子那里得到父母,但如何从父母那里得到孩子: 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 它不起作用,出现错误“navigablesting
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
它不起作用,出现错误“navigablesting”对象没有属性“findChild”。
任何帮助都将不胜感激,谢谢通过
class=sidebar sbt
过滤掉必要的div
。使用get_text()
获取每个div
的文本,并检查该div
是否包含您所需的信息。然后查找p
以排除不必要的文本
,使用get_text()
并去掉多余的空格和新行。按空格分割字符串并获取列表中的3个元素。再次加入以获取所需的字符串
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
注意:可能有更简单的方法来处理字符串
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
如果您需要第一个列出的部分的整个字符串,请避免拆分和合并。通过class=sidebar sbt
过滤掉必要的div
。使用get_text()
获取每个div
的文本,并检查该div
是否包含您所需的信息。然后查找p
以排除不必要的文本
,使用get_text()
并去掉多余的空格和新行。按空格分割字符串并获取列表中的3个元素。再次加入以获取所需的字符串
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
注意:可能有更简单的方法来处理字符串
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
如果您需要第一部分的整个字符串,请避免拆分和连接。因为您正在搜索文本,它返回navigablesting
集,因此aaa[0]
是navigablesting
。谢谢,我是python新手,获取孩子的代码应该是什么?获取包含这些文本的标签,然后导航到孩子。谢谢,我知道如何获取标签,一旦我获取了标签,我该如何编码才能获取孩子?例如,如果我的标签是class and top,而文本持续30天,那么a
20,我如何获取20?因为您正在搜索文本,它返回一组NavigableString
,因此aaa[0]
是一个NavigableString
。谢谢,我是python新手,应该做什么代码来获取子项?获取包含这些文本的标记,然后导航到子项。谢谢,我知道如何获取标记,一旦我得到了标签,我应该编写什么代码来得到孩子们?例如,如果我的标签是class和top,文本是最后30天,那么a
20,我如何得到20?