python爬虫爬取网页表格数据

想要爬取网页表格数据,我们通常需要经历以下几个步骤:

  1. 确认数据来源和目标网站,并分析目标网站的页面结构,找到表格数据所在的HTML标签和CSS类或ID。

  2. 使用Python中的requests库向目标网站发送HTTP请求,获取网页HTML文档。

  3. 使用Python中的BeautifulSoup库对HTML文档进行解析,并定位所需要的表格数据所在的标签。

  4. 将表格数据存储到本地文件或数据库中。

下面是两个具体的示例说明:

示例一:爬取中国城市经纬度数据

  1. 数据来源:http://www.nmc.cn/f/rest/province

  2. 页面结构分析:数据在表格中,每个城市的经纬度数据在表格中的对应列。

  3. 代码实现:

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 发送HTTP请求,获取HTML文档
url = 'http://www.nmc.cn/f/rest/province'
response = requests.get(url)

# 解析HTML文档,获取表格数据
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table')
data = []
for tr in table.findAll('tr'):
    row = []
    for td in tr.findAll('td'):
        row.append(td.text.strip())
    data.append(row)

# 将表格数据存储到CSV文件中
df = pd.DataFrame(data[1:], columns=data[0])
df.to_csv('city_location.csv', index=False)

示例二:爬取全球疫情数据

  1. 数据来源:https://www.worldometers.info/coronavirus/

  2. 页面结构分析:数据在表格中,每个国家/地区的疫情数据在表格中的对应行。

  3. 代码实现:

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 发送HTTP请求,获取HTML文档
url = 'https://www.worldometers.info/coronavirus/'
response = requests.get(url)

# 解析HTML文档,获取表格数据
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table', id='main_table_countries_today')
data = []
for tr in table.findAll('tr'):
    row = []
    for td in tr.findAll('td'):
        row.append(td.text.strip())
    if row:
        data.append(row)

# 将表格数据存储到CSV文件中
df = pd.DataFrame(data[1:], columns=data[0])
df.to_csv('covid19_global.csv', index=False)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python爬虫爬取网页表格数据 - Python技术站

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

相关文章

  • 浅析Python中的套接字编程

    浅析Python中的套接字编程 套接字 套接字(socket)是计算机网络中的一个抽象概念,它被用作网络通信的句柄(handle)。在Python中,我们可以使用socket模块来实现套接字编程。 套接字编程基础 在Python中使用socket,通常需要以下步骤: 创建套接字对象。 import socket s = socket.socket(socke…

    python 2023年5月31日
    00
  • Python实现光速定位并提取两个文件的不同之处

    这里是Python实现光速定位并提取两个文件的不同之处的攻略,包括安装必要的Python包,定位和提取不同之处的方法,以及两个示例。 安装必要的Python包 filecmp:Python标准库之一,用于比较两个文件或目录并返回差异 difflib:Python标准库之一,用于比较任意序列并返回差异 可以使用以下命令在终端中安装文件比较和差异库: pip i…

    python 2023年6月3日
    00
  • Python实现队列的方法

    Python实现队列的方法可以使用Python内置的列表(list)来实现。队列的特点是先进先出(FIFO),我们可以使用列表的append()方法来实现数据的入队操作,使用pop(0)方法来实现数据的出队操作,下面是实现队列的代码示例: class Queue: def __init__(self): self.items = [] def enqueue…

    python 2023年5月19日
    00
  • 看雪精华帖爬虫

    看雪自带的搜索感觉不是太好用, 然后弄了个爬虫 目前支持4种功能 1. 爬取某个版块所有的链接, 并保持到文件 2. 自动把精华帖分类出来, 并保存到文件 3. 把含有指定关键字的链接单独保存为文件(针对所有链接) 4. 把含有指定关键字的链接单独保存为文件(针对所有精华帖链接)   github下载地址: https://github.com/binggh…

    爬虫 2023年4月13日
    00
  • Flask 上下文是什么 ?

    哈喽大家好,我是咸鱼。今天我们来聊聊什么是 Flask 上下文   咸鱼在刚接触到这个概念的时候脑子里蹦出的第一个词是 CPU 上下文   今天咸鱼希望通过这篇文章,让大家能够对 Flask 上下文设计的初衷以及应用有一个基本的了解   Flask 上下文 我们在使用 Flask 开发 web 程序的时候,通常会面临下面的情况     假设同一时间内有三台客…

    python 2023年4月22日
    00
  • python流水线框架pypeln的安装使用教程

    Python流水线框架Pypeln的安装和使用教程 简介 Pypeln是一个Python 3的流水线框架,它能将一个大数据处理任务拆分成多个阶段,每个阶段都有一个可以并行处理的函数,并且它循环执行所有阶段直到任务完成,从而提高了任务的处理效率。 首先,我们需要在本地安装Pypeln。 安装 使用pip安装 打开终端,输入以下命令即可安装: pip insta…

    python 2023年5月14日
    00
  • Python开源自动化工具Playwright安装及介绍使用

    Python开源自动化工具Playwright是一个功能强大、易于使用的自动化测试工具。它允许开发人员使用Python编写端到端测试,并且可以与多种浏览器和操作系统进行交互。 以下是完整的攻略步骤: 1. 安装Playwright 安装Playwright需要使用pip命令: pip install playwright 此外,还需要在本地安装要进行自动化测…

    python 2023年5月19日
    00
  • 常见的Python异常及处理方法总结

    常见的Python异常及处理方法总结 在Python编程中,错误和异常是不可避免的。本文将为您总结Python中常见的错误和异常,并提供相应的解决方法。 语法错误 语法错误是最常见的错误之一,通常是由于代码中的拼写错误、缺少括号、引号等语法错误导致。解释器在运行程序之前检查代码中的语法错误,在发生错误时抛出SyntaxError异常。下面是一个示例,演示了语…

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