php网页抓取标题(谈及Pandas—超好用的Groupby详解数据分析—Merge数据财经数据)

优采云 发布时间: 2021-10-27 20:18

  php网页抓取标题(谈及Pandas—超好用的Groupby详解数据分析—Merge数据财经数据)

  说到Pandas的read.xxx系列函数,大家第一反应就会想到比较常用的pd.read_csv()和pd.read_excel()。大多数人估计他们从未使用过 pd.read_html() 函数。

  虽然低调,但功能却非常强大。用来抓取Table数据的时候,简直就是神器。下面就来详细介绍一下。

  在浏览网页时,经常会看到这样的数据表,例如:

  电影票房数据

  

  世界大学排名数据

  

  财务数据

  

  如果查看网页的 HTML 结构(Chrome 浏览器 F12),您会发现它们有一个共同的特点,不仅是表格,表格结构中显示的表格数据也一样。一般的网页页面结构如下

  

...

...

...

...

...

...

...

  对于网页结构相似的表格类型数据,pd.read_html() 就派上用场了。它可以抓取网页上的所有表格,并以DataFrame的形式以列表形式返回。具体流程是:

  

  先介绍一下read_html的一些主要参数

  读_html

  接下来以爬取新浪财经的重仓资金为例。网址是:

  这部分共有 6 页。点击不同的页码可以发现请求的URL主要是因为p参数在变化,p=n代表第n页,所以for循环可以遍历所有的URL。了解了URL的变化规则后,就可以愉快的爬取数据了,上传代码

  import pandas as pd

df = pd.DataFrame()

for i in range(6):

url = 'http://vip.stock.finance.sina.com.cn/q/go.php/vComStockHold/kind/jjzc/index.phtml?p={page}'.format(page=i+1)

df = pd.concat([df,pd.read_html(url)[0]])

print("第{page}页完成~".format(page=i+1))

df.to_csv('./data.csv', encoding='utf-8', index=0)

  

  整个过程不需要使用正则表达式或者xpath等工具,几行代码就可以把数据爬下来,是不是超级无敌方便?

  以后爬取一些小数据的时候,只要遇到这种Table类型的表,就可以直接牺牲read_html神器了。当别人还在思考规律性和xpath怎么写的时候,你已经爬取了数据。考虑一下。非常舒服!

  相关 文章:

  提高数据的价值!一起来看看Pandas中Pandas数据处理风格的三种风格——map、apply、applymap解释Pandas数据分析——超级好用Groupby解释Pandas数据分析——合并数据拼接图解解释Pandas数据处理——有趣的时间序列数据Pandas数据处理-常用函数盘点(上) Pandas 数据处理-常用函数盘点(下) Pandas性能优化方法,提速百倍,让你的Pandas飞起来!

  原创这并不容易。如果你觉得有用,希望你能给我点个赞。谢谢老铁!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线