Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从父母那里得到孩子的蟒蛇靓汤_Python_Web Scraping_Beautifulsoup - Fatal编程技术网

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?