我正在尝试加载数据,但它返回空列表,不确定这里出了什么问题...我正在添加从其他教程中找到的相同脚本
from bs4 import BeautifulSoup
import requests
import pandas as pd
url = ' https://en.wikipedia.org/wiki/All-time_Olympic_Games_medal_table'
result = requests.get(url)
soup = BeautifulSoup(result.content, 'html.parser')
# print(soup.title)
content = soup.find_all('table', class_='wikitable sortable jquery-tablesorter')
print(content)
答案 0 :(得分:2)
根据更新后的 URL 回答。
您正在使用 find_all()
选择所有表。在 URL 中,您只需选择奖牌表而不是全部。
您可以使用 content.find('table', class_='wikitable')
选择奖牌表。
这里我从表中提取了所有 <tr>
并将它们存储在 trs
变量中。您可以遍历 trs
列表并提取您需要的数据。
from bs4 import BeautifulSoup
import requests
import pandas as pd
url = 'https://en.wikipedia.org/wiki/All-time_Olympic_Games_medal_table'
result = requests.get(url)
soup = BeautifulSoup(result.text, 'html.parser')
content = soup.find('table', class_='wikitable')
trs = content.findAll('tr')
答案 1 :(得分:1)
print(soup)
显示 url
已成功抓取。错误在 content = ...
行 - 给定的 url 不包含 table
。这是 print(soup)
输出:
{"type":"standard","title":"夏季奥运会","displaytitle":"夏季奥运会","namespace":{"id":0,"text":""} ,"wikibase_item":"Q159821","titles":{"canonical":"Summer_Olympic_Games","normalized":"夏季奥运会","display":"夏季奥运会"},"pageid":27566,"缩略图":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Olympic_rings_without_rims.svg/320px-Olympic_rings_without_rims.svg.png","width":320,"height ":148},"originalimage":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Olympic_rings_without_rims.svg/342px-Olympic_rings_without_rims.svg.png","width ":342,"height":158},"lang":"en","dir":"ltr","revision":"1035750198","tid":"667065b0-eedc-11eb-83d5-e721135a5a1e" ,"timestamp":"2021-07-27T13:12:59Z","description":"国际综合体育赛事","description_source":"local","content_urls":{"desktop":{"page" :"https://en.wikipedia.org/wiki/Summer_Olympic_Games","revisions":"https://en.wikipedia.org/wiki/Summer_Olympic_Games?ac tion=history","edit":"https://en.wikipedia.org/wiki/Summer_Olympic_Games?action=edit","talk":"https://en.wikipedia.org/wiki/Talk:Summer_Olympic_Games" },"mobile":{"page":"https://en.m.wikipedia.org/wiki/Summer_Olympic_Games","revisions":"https://en.m.wikipedia.org/wiki/Special: History/Summer_Olympic_Games","edit":"https://en.m.wikipedia.org/wiki/Summer_Olympic_Games?action=edit","talk":"https://en.m.wikipedia.org/wiki/ Talk:Summer_Olympic_Games"}},"extract":"夏季奥运会,也称为奥林匹克运动会,是一项重大的国际性综合体育赛事,通常每四年举办一次。奥运会于 1896 年首次在希腊雅典举行,目前将于 2021 年在日本东京举行。国际奥委会(IOC)负责组织奥运会并监督主办城市的筹备工作。在每届奥运会项目中,第一名颁发金牌,第二名颁发银牌,第三名颁发铜牌;这一传统始于 1904 年。冬季奥运会是在夏季奥运会的成功基础上创立的。","extract_html":"
夏季奥运会,也称为奥林匹克运动会,是一项重大的国际多项体育赛事,通常每四年举行一次。奥运会于 1896 年首次在希腊雅典举行,目前将于 2021 年在日本东京举行。国际奥委会(IOC)负责组织奥运会并监督主办城市的筹备工作。在每届奥运会项目中,第一名颁发金牌,第二名颁发银牌,第三名颁发铜牌;这一传统始于 1904 年。冬奥会的诞生源于夏季奥运会的成功。
"}