加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Python 从爬虫到数据分析

发布时间:2019-05-16 15:48:03 所属栏目:建站 来源:大鹏
导读:副标题#e# 大家好,我是大鹏,城市数据团联合发起人,致力于Python数据分析、数据可视化的应用与教学。 和很多同学接触过程中,我发现自学Python数据分析的一个难点是资料繁多,过于复杂。大部分网上的资料总是从Python语法教起,夹杂着大量Python开发的知

因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不是每次都一样。默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时#迭代key和value,可以用for k, v in d.items()

可以看到,字典里的人名被一一打印出来了。for 函数的作用就是用于遍历数据。掌握for函数,可以说是真正入门了Python函数。

B.爬虫和循环

for函数在书写Python爬虫中经常被应用,因为爬虫经常需要遍历每一个网页,以获取信息,所以构建完整而正确的网页链接十分关键。以某票房数据网为例,他的网站信息长这样:

Python 从爬虫到数据分析

Python 从爬虫到数据分析

该网站的周票房json数据地址可以通过抓包工具找到,网址为http://www.cbooo.cn/BoxOffice/getWeekInfoData?sdate=20190114

仔细观察,该网站不同日期的票房数据网址(url)只有后面的日期在变化,访问不同的网址(url)就可以看到不同日期下的票房数据:

Python 从爬虫到数据分析

我们要做的是,遍历每一个日期下的网址,用Python代码把数据爬下来。此时for函数就派上用场了,使用它我们可以快速生成多个符合条件的网址:

  1. import pandas as pd 
  2.  
  3. url_df = pd.DataFrame({'urls':['http://www.cbooo.cn/BoxOffice/getWeekInfoData?sdate=' for i in range(5)],'date' :pd.date_range(20190114,freq = 'W-MON',periods = 5)}) 
  4.  
  5. ''' 
  6. 将网址相同的部分生成5次,并利用pandas的时间序列功能生成5个星期一对应的日期。 
  7. 其中用到了第一部分提供的多个数据类型: 
  8. range(5)属于列表, 
  9. 'urls':[]属于字典, 
  10. pd.dataframe属于dataframe 
  11. ''' 
  12. url_df['urls'] = url_df['urls'] + url_df['date'].astype('str') 

滑动滑块可以看到完整代码和中间的注释。

Python 从爬虫到数据分析

为了方便理解,我给大家画了一个for函数的遍历过程示意图:

Python 从爬虫到数据分析

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读