3 回答
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.
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)
添加回答
举报