为了账号安全,请及时绑定邮箱和手机立即绑定

从维基百科页面抓取表数据

从维基百科页面抓取表数据

PHP
一只甜甜圈 2023-11-09 10:46:40
我正在学习如何通过 Python 使用 BeautifulSoup 库,为了练习,我尝试从这个维基百科页面中删除流派标题: https ://en.wikipedia.org/wiki/List_of_jazz_genres我已经能够在我的代码中做到这一点:from bs4 import BeautifulSouphtml = open("wiki-jazz.html", encoding="utf=8")soup = BeautifulSoup(html, "html.parser")table = soup.find_all("table")[1]td = table.find_all("td")print(td)table[1] 包含我想要访问的数据。更具体地说,我真的只需要位于此标题属性中的数据:</td>, <td><a href="/wiki/West_Coast_jazz" title="West Coast jazz">West Coast jazz</a>我一直在绞尽脑汁地思考如何提取这些信息。我已经看过这里的其他帖子,但无法完全理解。谢谢。
查看完整描述

2 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

要打印表格的第一列,您可以迭代行 ( <tr>),然后获取行 ( <td>) 的所有单元格。每行的第一个单元格是您的爵士乐流派:


import requests

from bs4 import BeautifulSoup


url = 'https://en.wikipedia.org/wiki/List_of_jazz_genres'

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


table = soup.find_all("table")[1]


for row in table.find_all('tr')[1:]:    # <-- [1:] because we don't want the header

    cells = [td.get_text(strip=True) for td in row.find_all('td')]

    print(cells[0])

印刷:


Acid jazz

Afro-Cuban jazz

Avant-garde jazz

Bebop

Bossa nova

British dance band

Cape jazz

Chamber jazz

Continental jazz

Cool jazz

Crossover jazz

Dark jazz/Doomjazz[1][2][3]

Dixieland

Electro Swing

Ethio jazz

Ethno jazz

European free jazz

Free funk

Free jazz

Frevo

Gypsy jazz

Hard bop

Hot club

Indo jazz

Jazz blues

Jazz-funk

Jazz fusion

Jazz rap

Jazz rock

Kansas City blues

Kansas City jazz

Latin jazz

M-Base

Mainstream jazz

Modal jazz

Neo-bop jazz

Neo-swing

Neo-bop jazz

Novelty ragtime

Nu jazz

Orchestral jazz

Post-bop

Punk jazz

Ragtime

Ska jazz

Smooth jazz

Soul jazz

Straight-ahead jazz

Stride jazz

Swing

Third stream

Trad jazz

Vocal jazz

West Coast jazz



查看完整回答
反对 回复 2023-11-09
?
慕森王

TA贡献1777条经验 获得超3个赞

您应该阅读 Beautifulsoup 文档,了解如何获取标签内的属性,如 href src 等

在这里你可以使用

item[1].get(‘title’)


查看完整回答
反对 回复 2023-11-09
  • 2 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信