亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Beautiful Soup 獲取 `p` 標簽內的文本?

如何使用 Beautiful Soup 獲取 `p` 標簽內的文本?

牛魔王的故事 2023-03-16 11:15:10
我想獲取所有 p 標簽并將其存儲在列表中,但不幸的是它們之間都有一個。這是內容的樣子:<p>Ich halt mir die Pistole an den Kopf <br/>Doch drück' nicht ab, denn ich hab zu viel Angst vor Gott</p>, <p>Feinde wurden zu Brüdern <br/>Und Brüder wurden zu V-M?nnern <br/>Die beste Gang, in der ich jemals war <br/>Me, myself und meine DNA</p>,我應該看起來像:[Ich halt mir die Pistole an den Kopf    Doch drück' nicht ab, denn ich hab zu viel Angst vor Gott, Feinde wurden zu Brüdern     Und Brüder wurden zu V-M?nnern     Die beste Gang, in der ich jemals war     Me, myself und meine DNA,] 那是我當前的代碼:url = requests.get("https://www.myzitate.de/suche/farid-bang/")z = bs(url.content)cont = z.find("div", attrs={"id":"cont"})cont.find_all("p")
查看完整描述

3 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

您可以使用tag.get_text()with 參數strip=True并separator='\n'獲得正確的文本:


import requests

from bs4 import BeautifulSoup



url = 'https://www.myzitate.de/suche/farid-bang/'

soup = BeautifulSoup(requests.get(url).content, 'html.parser')


for p in soup.select('p'):

    print(p.get_text(strip=True, separator='\n'))

    print('-' * 80)

印刷:


Ich halt mir die Pistole an den Kopf

Doch drück' nicht ab, denn ich hab zu viel Angst vor Gott

--------------------------------------------------------------------------------

Feinde wurden zu Brüdern

Und Brüder wurden zu V-M?nnern

Die beste Gang, in der ich jemals war

Me, myself und meine DNA

--------------------------------------------------------------------------------

Wir sind Public Enemy

Ihr Police Academy

Kann nicht tanzen, meine Schultern sind zu breit

Du willst mich batteln und frisst dann den Bürgersteig

--------------------------------------------------------------------------------

Wir kam'n von unten mit Gangsta-Rap

Und sind im Endeffekt drei Gs wie das Handynetz

--------------------------------------------------------------------------------


...and so on.


查看完整回答
反對 回復 2023-03-16
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

這是你要找的嗎?

ps = [p.get_text() for p in cont.find_all("p")]


查看完整回答
反對 回復 2023-03-16
?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

所有項目都位于可以通過以下id方式z訪問的


page_soup.find_all('div', {'id': 'z'}):

在某些網站中,存在 p 標簽的多個實例,因此我通常會搜索 upper class 以確保獲得預期的輸出。


您感興趣的文本在 中并可p tag通過以下方式檢索


div_tag.find_all('p')

完整代碼如下:


append_text=[]

url = requests.get("https://www.myzitate.de/suche/farid-bang/")

page_soup= Soup(url.content)

for div_tag in page_soup.find_all('div', {'id': 'z'}):

    for litag in div_tag.find_all('p'):

        append_text.append(litag.text)


查看完整回答
反對 回復 2023-03-16
  • 3 回答
  • 0 關注
  • 221 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號