Beautiful soup- 删除 HTML 标签时遇到问题
Beautiful soup- trouble removing HTML tags
我是编码新手,但这会变得很明显。我正在尝试从网页中提取一些文本。
am = requests.get(url)
soup = BeautifulSoup(am.content, 'html.parser')
songs = soup.findAll("div", {"class": "songs-list-row__song-name"}, text=True)[0].string
我想在此网页上隔离 4 个文本实例。此代码一次只输出一个,具体取决于我在 [].string 括号中输入的数字。如何将其输出为包含所有四个实例的列表?
谢谢。
-我
只需遍历 ResultSet
例如 list comprehension
:
songs = [e.text for e in soup.find_all("div", {"class": "songs-list-row__song-name"}, text=True)]
注意: 在较新的代码中使用 find_all()
而不是旧语法 findAll()
例子
from bs4 import BeautifulSoup
html='''
<div class="songs-list-row__song-name">song 1</div>
<div class="songs-list-row__song-name">song 2</div>
<div class="songs-list-row__song-name">song 3</div>
<div class="songs-list-row__song-name">song 4</div>
'''
soup = BeautifulSoup(html, 'html.parser')
songs = [e.text for e in soup.find_all("div", {"class": "songs-list-row__song-name"}, text=True)]
print(songs)
输出
['song 1', 'song 2', 'song 3', 'song 4']
我是编码新手,但这会变得很明显。我正在尝试从网页中提取一些文本。
am = requests.get(url)
soup = BeautifulSoup(am.content, 'html.parser')
songs = soup.findAll("div", {"class": "songs-list-row__song-name"}, text=True)[0].string
我想在此网页上隔离 4 个文本实例。此代码一次只输出一个,具体取决于我在 [].string 括号中输入的数字。如何将其输出为包含所有四个实例的列表?
谢谢。
-我
只需遍历 ResultSet
例如 list comprehension
:
songs = [e.text for e in soup.find_all("div", {"class": "songs-list-row__song-name"}, text=True)]
注意: 在较新的代码中使用 find_all()
而不是旧语法 findAll()
例子
from bs4 import BeautifulSoup
html='''
<div class="songs-list-row__song-name">song 1</div>
<div class="songs-list-row__song-name">song 2</div>
<div class="songs-list-row__song-name">song 3</div>
<div class="songs-list-row__song-name">song 4</div>
'''
soup = BeautifulSoup(html, 'html.parser')
songs = [e.text for e in soup.find_all("div", {"class": "songs-list-row__song-name"}, text=True)]
print(songs)
输出
['song 1', 'song 2', 'song 3', 'song 4']