Python Crawler爬虫实战公式-表格数据
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 定义一个函数来获取表格数据
def get_table_data(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table', {'class': 'wikitable'})
data = []
for row in table.find_all('tr')[1:]: # 跳过表头
cols = row.find_all('td')
data.append([col.text.strip() for col in cols])
return data
# 定义URL
url = 'https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)_and_GDP_per_capita'
# 获取表格数据
table_data = get_table_data(url)
# 将数据转换为pandas DataFrame并进行简单的处理
df = pd.DataFrame(table_data, columns=['Country', 'GDP (nominal)', 'GDP per capita'])
df['GDP (nominal)'] = df['GDP (nominal)'].str.replace(',', '').astype('int64')
df['GDP per capita'] = df['GDP per capita'].str.replace(',', '').str.rstrip('USD').astype('float')
# 打印前几行结果
print(df.head())
这段代码使用了requests库来发送HTTP请求,BeautifulSoup来解析HTML,pandas来处理和分析数据。代码首先定义了一个函数get_table_data
来获取指定URL的表格数据,并将其转换为一个列表。然后,使用pandas创建了一个DataFrame,并对其进行了列名指定和数据类型转换。最后,打印出了处理后的前几行数据。
评论已关闭