首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >输出到列表的BeautifulSoup元素

输出到列表的BeautifulSoup元素
EN

Stack Overflow用户
提问于 2019-06-06 05:24:31
回答 3查看 850关注 0票数 1

我有一个使用BeautifulSoup的输出。

  1. 我需要将输出从'type‘'bs4.element.Tag’转换为列表,并将该列表导出到名为COLUMN_A
  2. 的DataFrame列中。我希望输出在第14个元素处停止(最后三个h2无用)

我的代码:

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


url = 'https://www.planetware.com/tourist-attractions-/oslo-n-osl-oslo.htm'
url_get = requests.get(url)
soup = BeautifulSoup(url_get.content, 'html.parser')
attraction_place=soup.find_all('h2', class_="sitename")    

for attraction in attraction_place:
    print(attraction.text)
    type(attraction)

输出:

代码语言:javascript
复制
1  Vigeland Sculpture Park
2  Akershus Fortress
3  Viking Ship Museum
4  The National Museum
5  Munch Museum
6  Royal Palace
7  The Museum of Cultural History
8  Fram Museum
9  Holmenkollen Ski Jump and Museum
10  Oslo Cathedral
11  City Hall (Rådhuset)
12  Aker Brygge
13  Natural History Museum & Botanical Gardens
14  Oslo Opera House and Annual Music Festivals
Where to Stay in Oslo for Sightseeing
Tips and Tours: How to Make the Most of Your Visit to Oslo
More Related Articles on PlanetWare.com

我希望看到这样的列表:

代码语言:javascript
复制
attraction=[Vigeland Sculpture Park, Akershus Fortress, ......]

非常提前感谢您。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-06 05:54:04

一个不错的简单方法是获取照片的alt属性。这可以得到干净的文本输出,并且只有14个,而不需要任何切片/索引。

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

r = requests.get('https://www.planetware.com/tourist-attractions-/oslo-n-osl-oslo.htm')
soup = bs(r.content, 'lxml')
attractions = [item['alt'] for item in soup.select('.photo [alt]')]
print(attractions)
票数 1
EN

Stack Overflow用户

发布于 2019-06-06 05:46:32

代码语言:javascript
复制
new = []
count = 1
for attraction in attraction_place:
    while count < 15:
        text = attraction.text
        new.append(text)
        count += 1
票数 1
EN

Stack Overflow用户

发布于 2019-06-06 06:00:14

您可以使用slice。

代码语言:javascript
复制
for attraction in attraction_place[:14]:
    print(attraction.text)
    type(attraction)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56468212

复制
相关文章

相似问题

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