下面是Python实现爬虫抓取与读写、追加到excel文件操作的完整实例教程:
1. 准备工作
在开始实现爬虫抓取与读写、追加到excel文件操作之前,需要先安装以下Python库:
* requests:用于发起HTTP请求并获取HTML内容;
* beautifulsoup4:用于解析HTML内容;
* openpyxl:用于读写Microsoft Excel文件。
可以使用以下命令来安装这些库:
pip install requests beautifulsoup4 openpyxl
2. 示例一:抓取国内新闻并写入Excel
以下是一个抓取国内新闻并写入Excel文件的完整示例:
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
# 定义解析HTML页面的函数
def parse_html(html):
soup = BeautifulSoup(html, 'html.parser')
news_items = soup.select('.news-item') # 根据CSS选择器获取新闻列表
# 循环读取新闻标题、时间和链接
news = []
for item in news_items:
title = item.select_one('.title').text.strip()
time = item.select_one('.time').text.strip()
link = item.select_one('.title')['href']
news.append([time, title, link])
return news
# 发起HTTP请求,获取国内新闻页面HTML内容
url = 'https://news.baidu.com/guonei'
resp = requests.get(url)
html = resp.text
# 解析HTML并获取新闻数据
news = parse_html(html)
# 将新闻数据写入Excel文件
wb = Workbook()
ws = wb.active
ws.append(['时间', '标题', '链接']) # 写入表头
for item in news:
ws.append(item) # 写入新闻数据
wb.save('news.xlsx')
在运行示例代码后,将会在当前目录下生成一个名为"news.xlsx"的Excel文件,里面包含了所有国内新闻的时间、标题和链接。
3. 示例二:追加数据到现有的Excel文件
以下是一个将新闻数据追加到现有Excel文件的完整示例:
import requests
from bs4 import BeautifulSoup
from openpyxl import load_workbook
# 定义解析HTML页面的函数
def parse_html(html):
soup = BeautifulSoup(html, 'html.parser')
news_items = soup.select('.news-item') # 根据CSS选择器获取新闻列表
# 循环读取新闻标题、时间和链接
news = []
for item in news_items:
title = item.select_one('.title').text.strip()
time = item.select_one('.time').text.strip()
link = item.select_one('.title')['href']
news.append([time, title, link])
return news
# 发起HTTP请求,获取国内新闻页面HTML内容
url = 'https://news.baidu.com/guonei'
resp = requests.get(url)
html = resp.text
# 解析HTML并获取新闻数据
news = parse_html(html)
# 将新闻数据追加到现有Excel文件
wb = load_workbook('news.xlsx')
ws = wb.active
for item in news:
ws.append(item) # 追加新闻数据
wb.save('news.xlsx')
运行示例代码后,会将最新获取的新闻数据追加到"news.xlsx"文件的末尾。这样,我们就完成了将Python爬虫抓取到的数据写入或追加到Excel文件的操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现爬虫抓取与读写、追加到excel文件操作示例 - Python技术站