python下载pandas库镜像_利用Python的pandas库做简单的网络爬虫(最简单易学的网络爬虫)...

本文介绍了如何使用Python的pandas库简单快速地抓取网页表格,并进行数据排序。通过复制粘贴表格到剪贴板,然后利用pandas的read_clipboard()函数读取数据,再进行排序,可以轻松查看ProjectEuler中各编程语言的流行度。作者还鼓励读者尝试将百分比转换为数值并进行排序,以及抓取并排序另一个表格。
摘要由CSDN通过智能技术生成

81bc998031feb51f9c8c02d7ec0f6446.png
知乎视频​www.zhihu.com

我知道知乎上关于网络爬虫的文章过于泛滥了.

大部分网络爬虫的思路是:

1 先将网页的源代码(html)下载下来.

2 然后从源代码中通过regexp等技术, 提取出感兴趣的内容(比如表格, 图片, 视频等).

既然知乎上网络爬虫的文章已经泛滥了, 为什么还要写这篇文章呢?

因为这篇文章将是你看过的最简单易学的(希望不要有人喷我, 说什么这个不算是网络爬虫, Whatever, 只要是能达到目的就好, 管它是什么呢?).

比如下面这个表格, 关于Project Euler各种编程语言的统计, 是按照字典序排列的, 但是, who care这个, 大部分人想看哪种语言最流行. 但是, 不知道为什么(为了避免圣战? 还是单纯懒得做这个功能?), 该网站就是不提供这样的排序功能, 非常蛋疼.

33e941046e49db7b77a5d3ae062bcc8e.png
Sign In - Project Euler​projecteuler.net

只能将表格下载下来, 自己进行排序了.

如何将表格下载下来呢?

步骤1: 将这个表格用鼠标选定, 然后ctrl+C(复制)

步骤2: 使用pandas的read_clipboard下载下来.

import pandas as pd
df = pd.read_clipboard()

你没看错, 就只有这简单的两行代码, 就实现功能了!

9f9a02e00502b5e6c75c6ddf6f2905c4.png

接下里, 使用pandas的排序功能, 进行排序, 看看哪些语言流行.

df1 = df.sort_values(by="Total Number of Members", ascending=False)

9ad242966567529c65c8f16459a8a7ad.png

可以看到在Project Euler里, Python的流行度竟然超过了C/C++, 这个有些出乎意料. 因为Project Euler是一个算法网站, 一般会认为C/C++最流行.

绘图, 更直观一些:

df2 = df1.set_index("Language")
df2[:20].plot.bar()

9ea64d1615e8394b3ab6ab112cbd57cc.png

有兴趣的读者可以做一下"家庭作业":

1 后面两列因为带有%号, 实际是字符型, 这对排序造成了一定的困难, 想办法将它们转换成数值型, 然后排序.

2 对另外一个表格进行下载, 并进行排序:

Sign In - Project Euler​projecteuler.net

系列文章:

haitao:利用Python的pandas库做简单的网络爬虫2​zhuanlan.zhihu.com
b33b8c0b346d808ee27cabe52a2a1e0d.png

创作不易, 请大家"素质三连": 点赞, 收藏, 分享.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值