首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在<div>下打印<p>元素中的文本

在<div>下打印<p>元素中的文本
EN

Stack Overflow用户
提问于 2021-03-30 20:55:44
回答 1查看 33关注 0票数 1

我需要打印与class='fs-s fw-light pl-4 pr-4'在每个网站上的<p>元素的文本。我尝试了这种方式,但它立即开始和结束。

代码语言:javascript
运行
复制
import gspread
import requests
import datetime 
from bs4 import BeautifulSoup
from datetime import timedelta

datetime.datetime.now()

#zaklad pro scraping webu
URL = 'https://www.mmreality.cz/nemovitosti/prodej/byty/praha-vychod/?query=bcw9DoAgDIbh2zgjiro4eQzCQBB%2FErUEigm3F3Ss69Ovr4HzhEsG1BiDkkyNdWU%2B0wb32xZYLaxeuy3J2S46HjhBvNCn9%2BYhupAfJSZnvwRnjHqtRiEo8zL%2FyTR53lFuMw%2BUReaeclfi%2FAE%3D'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')

#Scraping
results = soup.find_all('id', attrs={'class':'cell xsmall-24 mb-4 grid-y pos-relative rounded pseudo-border pseudo-border-primary-lightest pseudo-border-on-hover-none pseudo-box-shadow-xlarge-on-hover medium-12 xlarge-8'}) 
for job_data in results:

    nemovitost = job_data.find('p', attrs={'class':'fs-s fw-light pl-4 pr-4'})
    nemovitost_final = nemovitost.text.strip()

    print(nemovitost_final)

我使用for job_data in results - for来尝试这段代码,因为它是我想要打印的组元素的标题。在元素<p>之后,我想打印<strong class="block text-secondary fs-xxl pl-4 pr-4 mb-4">6 800 000 Kč</strong>和其他内容。

我尝试从这个网站打印文本:www.mmreality.cz

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-30 22:54:56

您可以尝试此示例来获取数据:

代码语言:javascript
运行
复制
import requests
from bs4 import BeautifulSoup


url = "https://www.mmreality.cz/nemovitosti/prodej/byty/praha-vychod/?query=bcw9DoAgDIbh2zgjiro4eQzCQBB%2FErUEigm3F3Ss69Ovr4HzhEsG1BiDkkyNdWU%2B0wb32xZYLaxeuy3J2S46HjhBvNCn9%2BYhupAfJSZnvwRnjHqtRiEo8zL%2FyTR53lFuMw%2BUReaeclfi%2FAE%3D"
soup = BeautifulSoup(requests.get(url).content, "html.parser")

for p in soup.select("p.fs-s.fw-light.pl-4.pr-4"):
    popis = p.get_text(strip=True, separator="\n")
    cena = p.find_previous("strong").get_text(strip=True)

    print(popis)
    print(cena)
    print("-" * 80)

打印:

代码语言:javascript
运行
复制
Polerady
Prodej, Byt 3+kk, 246 m², Polerady
6 800 000 Kč
--------------------------------------------------------------------------------
Partyzánská, Odolena Voda
Prodej, Byt 3+kk, 80 m², Odolena Voda, Partyzánská
5 149 000 Kč
--------------------------------------------------------------------------------
Na Vyhlídce, Škvorec
Prodej, Byt 5+kk, 508 m², Škvorec, Na Vyhlídce
11 645 000 Kč
--------------------------------------------------------------------------------
Lipová, Mukařov
Prodej, Byt 5+kk, 252 m², Mukařov, Lipová
10 140 000 Kč
--------------------------------------------------------------------------------
Kosatcová, Říčany, Radošovice
Prodej, Atypický byt, 279 m², Říčany, Kosatcová
14 000 000 Kč
--------------------------------------------------------------------------------
Rooseveltova, Říčany
Prodej, Byt 4+kk, 109 m², Říčany, Rooseveltova
5 750 000 Kč
--------------------------------------------------------------------------------
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66871359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档