import requests
from bs4 import BeautifulSoup
import pandas as pd
# 定义一个函数来获取网页内容
def get_html(url):
try:
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
return "页面无法访问"
except requests.exceptions.RequestException:
return "请求出错"
# 定义一个函数来解析网页并提取数据
def parse_html(html):
soup = BeautifulSoup(html, 'html.parser')
data = []
for row in soup.find('tbody').children:
if isinstance(row, bs4.element.Tag):
tds = row('td')
data.append([tds[0].text, tds[1].text, tds[2].text, tds[3].text])
return data
# 定义一个函数来保存数据到CSV文件
def save_to_csv(data, filename):
df = pd.DataFrame(data, columns=['序号', '姓名', '年龄', '职业'])
df.to_csv(filename, index=False, encoding='utf-8')
# 定义一个主函数来串联所有功能
def main():
url = 'https://www.example.com/data' # 示例网址,实际应用中需替换为目标网址
html = get_html(url)
data = parse_html(html)
save_to_csv(data, 'data.csv')
if __name__ == '__main__':
main()
这段代码首先导入了requests、BeautifulSoup和pandas库,然后定义了获取网页内容、解析网页和保存数据到CSV文件的函数。最后,在main函数中,这些函数被组合起来完成网页内容的抓取、处理和保存。这个简单的例子展示了如何使用Python进行网页爬虫和数据处理的基本步骤。