Python基础知识进阶之数据爬虫
import requests
from bs4 import BeautifulSoup
# 获取网页内容的函数
def get_html_content(url):
try:
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
return "页面无法访问"
except requests.exceptions.RequestException:
return "请求出错"
# 解析网页并提取数据的函数
def parse_html_extract_data(html_content):
soup = BeautifulSoup(html_content, 'html.parser')
data = []
for row in soup.find('table', {'class': 'wikitable'}).find_all('tr')[1:]:
cells = row.find_all('td')
data.append({
'序号': cells[0].text.strip(),
'代码': cells[1].text.strip(),
'名称': cells[2].text.strip(),
'单位': cells[3].text.strip(),
'数量': cells[4].text.strip()
})
return data
# 打印数据的函数
def print_data(data):
for item in data:
print(f"序号: {item['序号']}, 代码: {item['代码']}, 名称: {item['名称']}, 单位: {item['单位']}, 数量: {item['数量']}")
# 主函数
def main():
url = 'https://zh.wikipedia.org/wiki/中国%E8%8A%82%E7%82%B9%E8%B5%84%E6%BA%90%E6%8C%81%E4%BB%9B'
html_content = get_html_content(url)
data = parse_html_extract_data(html_content)
print_data(data)
if __name__ == "__main__":
main()
这段代码首先定义了获取网页内容的函数get_html_content
,然后定义了解析网页并提取数据的函数parse_html_extract_data
,最后定义了打印数据的函数print_data
。主函数main
则是这些函数的组合使用,实现了数据爬取和处理的流程。
评论已关闭