前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超级简单,适合小白的爬虫程序

超级简单,适合小白的爬虫程序

作者头像
Python与Excel之交
发布2021-08-05 11:07:34
8230
发布2021-08-05 11:07:34
举报
文章被收录于专栏:Python与Excel之交

一、前言

今天教大家一个最简单的爬虫程序,只需要几行代码就能爬取多页数据。

这个程序需要用到一个名为pandas的库,先介绍一下pandas:

pandas是基于NumPy构建的,使数据预处理、清洗、分析工作变得更快更简单。pandas是专门为处理表格和混杂数据设计的,数据的处理以及清洗用pandas是很好用的。

今天教大家如何用pandas抓取数据。

pandas适合抓取表格型table数据,所以需要确定网页的结构是否是table数据.

二、案例:爬取中商网股票单页数据

先导入pandas并重命名为pd。

代码语言:javascript
复制
import pandas as pd
创建DataFrame存放数据,DataFrame是pandas里的一种数据结构,可以存放数值、字符串等,与excel表格很像。
df = pd.DataFrame()
今天要爬取内容的网站:

url='https://s.askci.com/stock/a/0-0?reportTime=2020-03-31&pageNum=1#QueryCondition'
三、分析网页来看下网页结构,长的像excel表格,点击下一页url后面的数字会发现变化,下面是今天要爬取的内容:

该网页是静态网页,数据都在网页源代码中,且是table表格数据:

直接用read_html获取网页数据并传入url:

代码语言:javascript
复制
df = pd.concat([df,pd.read_html(url)[3]])

[3]:因为python的数字是从0开始算的,表示是从0开始算到3,也就是获取到第四个表。

以csv格式保存数据,csv以纯文本形式存储表格数据,以逗号等符号分隔,可以转换为表格的一种文件格式:

代码语言:javascript
复制
df.to_csv('A.csv',encoding='utf-8')

运行后预览下数据,包括标题行,一共21条数据:

四、案例:爬取中商网股票多页数据

如果你想爬取多页数据只需要创建个for循环:

代码语言:javascript
复制
import pandas as pd

df = pd.DataFrame()

for i in range(1,208):
    url='https://s.askci.com/stock/a/0-0?reportTime=2020-03-31&pageNum='+str(i)+'#QueryCondition'
    df = pd.concat([df,pd.read_html(url)[3]])

df.to_csv('A.csv',encoding='utf-8')

运行后一共爬取了207页数据:

预览下数据,包括标题行,一共4127条数据:

五、结语:

pandas爬虫适合爬取且是静态网页的表格型table数据,但有些网页表面看起来是表格型table数据,而源代码却不是的表格型table数据或者数据不在源代码中的,这就要考虑网页是不是动态加载的网页了。

注:本文仅用于学习以及知识交流!如果侵权,请告知删除!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注:本文仅用于学习以及知识交流!如果侵权,请告知删除!
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档