python抓取网页内容到excel,python如何抓取网页数据

本文详细介绍了如何使用Python通过requests库抓取网页数据,结合BeautifulSoup解析HTML,然后将数据写入Excel文件的过程。作者分享了一个抓取基金股票涨幅数据的简单示例。

大家好,小编为大家解答python 爬虫抓取网页数据导出excel的问题。很多人还不知道python抓取网页数据并写入txt,现在让我们一起来看看吧!

Source code download: 本文相关源码

三年多没写博客了,原因是因为我转行了,经历了很长的低谷,那段时间从不看博客,今天打开来看,回复了一些评论,很抱歉,有些网友的评论没有及时回复。最近开始想写代码了~

最近看基金股票,想抓取一些行业当天的涨幅数据,尝试能不能在行业的波动下发现一些什么,所以想实现一个功能,就是抓取数据,然后将当天涨幅居前的行业提取出来,至于如何挖掘,这里不展开讨论一个简单又好玩的python代码

程序很简单:

第一步:

抓取网页数据

  import requests


  #加入headers不会出现报错
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
        'Accept': 'text/html, application/xhtml+xml, application/xml;q = 0.9, image/webp, image/apng, */*;    q = 0.8, application/signed-exchange;v = b3;q = 0.9',
        'Accept-Encoding': 'gzip, deflate, br'
    }
    strHtml = requests.get(url, headers=headers)
    html=strHtml.text

第二步:抓到的是Html的数据,数据如下,我这里使用BeautifulSoup进行解析,首先需要查找Table标签,然后再遍历th表头标签,再遍历td表格内容标签

解析Html数据,代码如下:

 for table in bf.findAll('table'):                  #查找所有表格
        for row in table.findAll('tr'):
            for th in row.findAll('th'):               #查找表头table head
                columnCount+=1                         #计算表格总有多少列
            for tr in row.findAll('td'):               #查找表格肉容
                curentRow=tdNumber//columnCount+1
                curentColum=tdNumber%columnCount
                print("第",curentRow,"行,第",curentColum,"列",tr.text)
                tdNumber+=1
        break

第三步:解析完毕,写入Excel。

import xlsxwriter


    workbook=xlsxwriter.Workbook("行数涨幅前50.xlsx")
    worksheet=workbook.add_worksheet()

    for table in bf.findAll('table'):                  #查找所有表格
        for row in table.findAll('tr'):
            for th in row.findAll('th'):               #查找表头table head
                worksheet.write(curentRow, columnCount, th.text)
                columnCount+=1                         #计算表格总有多少列
            for tr in row.findAll('td'):               #查找表格肉容
                curentRow=tdNumber//columnCount+1
                curentColum=tdNumber%columnCount
                print("第",curentRow,"行,第",curentColum,"列",tr.text)
                worksheet.write(curentRow,curentColum,tr.text)
                tdNumber+=1
        break
    workbook.close()

程序完毕,运行:

 希望对你有用,共勉~

### 使用 Python 编写爬虫程序抓取网页数据保存Excel 文件 #### 准备工作 为了完成此任务,需确保已安装必要的库。可以使用 `pip` 安装这些依赖项: ```bash pip install requests pandas openpyxl beautifulsoup4 lxml ``` 上述命令会安装用于发送 HTTP 请求、处理 HTML 文档以及操作 Excel 文件所需的工具。 #### 抓取网页内容 通过定义一个简单的函数来获取目标页面的内容,解析其中的数据。这里采用 BeautifulSoup 解析 HTML 结构化文档[^1]。 ```python import requests from bs4 import BeautifulSoup def fetch_page(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'lxml') return soup ``` #### 数据提取逻辑 针对特定网站设计相应的规则以定位所需信息节点。假设要收集的是表格形式展示的数据,则可以直接调用 Pandas 的 `read_html()` 方法简化流程[^3]。 ```python import pandas as pd url = "http://example.com/table-data" tables = pd.read_html(fetch_page(url).prettify()) df = tables[0] # 假设只有一张表位于列表的第一个位置 ``` #### 存储为 Excel 文件 最后一步是将 DataFrame 对象转换成 Excel 表格格式存储于磁盘上。推荐使用 `openpyxl` 引擎支持 `.xlsx` 扩展名的现代 Excel 文件格式[^2]。 ```python output_file = './data.xlsx' with pd.ExcelWriter(output_file, engine='openpyxl') as writer: df.to_excel(writer, index=False) print(f'Data has been successfully exported to {output_file}') ``` 以上代码片段展示了如何构建一个基本框架来进行网络爬行作业将结果记录下来供后续分析之用。需要注意,在实际应用过程中应当遵循各站点的服务条款,合理合法地开展自动化采集活动。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值