Python实现爬虫抓取与读写、追加到excel文件操作示例

下面是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技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Excel 如何自动隐藏空白单元格

    在Excel中,您可以使用“自动隐藏空白单元格”功能,使得空白单元格在工作表中不可见。以下是如何完成此操作的完整攻略: 在Excel中,选择您要隐藏空白单元格的工作表。 在“开始”选项卡中,单击“查找和选择”下拉菜单,然后选择“前往特定单元格”。 在“前往特定单元格”对话框中,输入您想要隐藏空白单元格的范围,例如“A1:D10”。 单击“确定”按钮。 在Ex…

    云计算 2023年5月10日
    00
  • python由已知数组快速生成新数组的方法

    当需要从已知数组快速生成新数组时,Python提供了多种方便的方法。以下是其中的几种方法: 1. 使用列表推导式 列表推导式是Python中一种非常高效的方法,用于从现有的列表、字符串或任何可迭代对象中快速创建新的列表。它的语法形式为:[expression for var in iterable]. 以下是一个示例,我们从一个现有的列表a中快速生成一个新的…

    python 2023年6月5日
    00
  • Python爬虫urllib和requests的区别详解

    以下是关于Python爬虫urllib和requests的区别详解的攻略: Python爬虫urllib和requests的区别详解 在Python中,可以使用urllib和requests库进行网络爬虫开发。以下是Python爬虫urllib和requests的区别详解的攻略。 urllib库 urllib是Python自带的HTTP请求库,包含了四个模块…

    python 2023年5月14日
    00
  • Pytorch在dataloader类中设置shuffle的随机数种子方式

    PyTorch的数据集DataLoader是十分常用的数据加载和预处理工具,通过将数据传输到GPU并在深度学习过程中进行抽样,而它的shuffle参数可以打乱数据集的顺序,使损失函数更加随机。但同时,我们也可能需要控制随机的行为,以获得可再现的实验结果。下面是两种设置shuffle随机数种子的方法: 方法一:使用torch.utils.data.DataLo…

    python 2023年6月3日
    00
  • Python利用yarl实现轻松操作url

    Python利用yarl实现轻松操作URL yarl是一个Python库,用于轻松操作URL。它提供了一组简单而强大的API,用于解析、构建和操作URL。本文将详细介绍yarl库的用法,并提供两个示例。 安装yarl 我们可以使用pip命令来安装yarl库: pip install yarl 解析URL yarl库提供了parse()函数,用于解析URL。我…

    python 2023年5月15日
    00
  • Python制作爬虫采集小说

    Python制作爬虫采集小说 – 完整攻略 1. 确定目标网站和小说信息 首先,我们需要确定要爬取的目标网站以及该网站上的小说信息。可以在网站上查找需要的小说,在阅读页面中观察该小说的URL、作者、标题、简介等信息,这些信息将在后面的爬虫代码中需要用到。 需要注意的是,我们在爬取小说时要注意版权问题,不要侵犯任何人的合法权益。 以爬取《斗破苍穹》小说为例,我…

    python 2023年5月14日
    00
  • Python堆排序原理与实现方法详解

    Python堆排序原理与实现方法详解 堆排序是一种高效的排序算法,它利用堆的数据结构来实现排序。在Python中,我们可以使用heap模块来实现堆排序。本文将详细讲解Python堆排序的原理和实现方法,包括堆的定义、堆排序算法和例说明等。 堆的定义 在排序中,我们需要使用堆的数据结构。堆是一种完全二叉树,它满足以下两条件: 父节点的值大于或等于子节点的值(大…

    python 2023年5月14日
    00
  • springboot publish event 事件机制demo分享

    标题:SpringBoot事件机制的示例分享 简介 Spring框架是一个非常流行的Java框架,其提供了事件机制来处理应用程序中的各种操作,SpringBoot是Spring的一个子框架,继承了Spring框架的事件机制,使得事件的处理更加简单和高效。 SpringBoot事件机制简介 SpringBoot事件机制允许应用程序中的不同组件之间进行通信。核心…

    python 2023年6月13日
    00
合作推广
合作推广
分享本页
返回顶部