由于原始代码已经提供了一个很好的示例,以下是一个简化的代码实例,用于抓取小行星的直径数据:
import requests
from bs4 import BeautifulSoup
# 定义一个函数来获取小行星的直径数据
def get_asteroid_diameters(asterank_url):
# 发送HTTP请求
response = requests.get(asterank_url)
response.raise_for_status() # 检查请求是否成功
# 解析响应内容
soup = BeautifulSoup(response.text, 'html.parser')
# 找到包含直径信息的表格
table = soup.find('table', {'class': 'asterank'})
# 初始化直径列表
diameters = []
# 遍历表格中的所有行,跳过表头
for row in table.find_all('tr')[1:]:
# 提取直径数据
diameter = row.find_all('td')[4].text.strip()
diameters.append(diameter)
return diameters
# 使用函数获取小行星直径数据
asterank_url = 'https://www.asterank.com/neo.php'
diameters = get_asteroid_diameters(asterank_url)
# 打印直径数据
for diameter in diameters:
print(diameter)
这段代码简化了原始代码,去除了原始代码中的一些冗余部分,并且使用更为直接的方法来查找和提取小行星的直径数据。这个示例假设表格结构不会改变,如果结构发生变化,则需要更新解析代码以匹配新的结构。