python爬虫--百度风云榜--pandas画趋势图

好久没有更新博客,最近做了一个小项目,利用python爬虫功能,每天记录爬取百度风云榜的数据,然后画出趋势图,从而预测旅游城市热度。

原本准备用pandas直接读取table,后来发现pandas不能打包成exe,就只能放弃,尝试了petl也失败了。

在画图的过程中出现了中文无法显示的问题,查询得出是因为matplotlib的问题,没有引入中文字体。

先上分析代码

import os
import pandas as pd
rootdir=‘C:/files‘
#先删除一下result.csv#获取目录下面的所有文件路径
def get_all_filepath(rootdir):
    filepath_list=[]
    for parent,dirnames,filenames in os.walk(rootdir):
        for filename in filenames:
            filepath_list.append(parent+‘/‘+filename)
            #print "the full name of the file is:" + os.path.join(parent,filename)
    return filepath_list

filepath_list=get_all_filepath(rootdir)
print filepath_list

df=pd.read_csv(filepath_list[0])
dfs=[]
for filepath in filepath_list[1:len(filepath_list)-1]:
    #将字符串转化成变量
    #locals()[‘var‘]=2345
    #vars()[‘var‘]=567
    print filepath
    dfs.append(pd.read_csv(filepath))

for item in dfs:
    df=pd.merge(df,item,how=‘outer‘,on=‘city‘, suffixes=(‘_x‘, ‘_y‘))

#df.to_csv(‘C:/files/result.csv‘,encoding=‘gbk‘)

#df1=df[df[‘city‘].isin([u‘香港‘,u‘马尔代夫‘,u‘青岛‘,u‘三亚‘,u‘济州岛‘,u‘东京‘])]
df1=df[df[‘city‘].isin([‘香港‘,‘马尔代夫‘,‘青岛‘,‘三亚‘,‘济州岛‘,‘东京‘])]
#df.query("city in (‘香港‘,‘马尔代夫‘)")
#df1.query("city not  in (‘香港‘,‘马尔代夫‘)")
df2=df1.T
df2.columns=df2.iloc[0,:]
df2=df2.drop(‘city‘,axis=0).astype(float)
df2[‘day‘]=pd.date_range(‘20160127‘,‘20160218‘)
print df2.columns.name  #df2.index.name
df2.columns.name=u‘城市‘#df2.index.name也可以赋值。
df2.plot(x=‘day‘,title=u‘目的地城市搜索趋势‘)#不支持中文。#不支持中文,是因为中文字体问题,pandas的绘图基于matplotlib所以把matplotlib的显示
#中文的问题解决了,自然中文就行显示出来了,参见http://www.pythoner.com/200.html

结果如下:

时间: 2024-10-01 00:39:11

python爬虫--百度风云榜--pandas画趋势图的相关文章

SEO优化之如何利用百度风云榜获取百万流量

SEO优化之如何利用百度风云榜获取百万流量 (     SEO优化一定要精细,一味的趁波逐浪最后别说分一杯羹了,可能连汤都看不到.下面我们来说一下网站优化如何运用热度风云榜,并晋升网站流量. 为什么会说到风云榜,所谓的风云榜实在就是天天发生的最新事件,如娱乐.糊口等热点搜索内容的集合.且能够非常正确的反映用户关注的信息及内容. 第一:百度风云榜 百度一下你就知道,这已经成为良多人的口头禅,只要登录百度账号在首页就可以显示实时热门百度优化之怎样利用百度风云榜百度优化之怎样利用百度风云榜.百度风云榜

基于百度风云榜开发的API数据接口-为APP资讯资讯服务

是基于百度搜索风云榜采集的新闻信息,,该资讯会更好的体现人们关注的人多事件与热词 通过数据采集,同时发布相信的数据开放API接口 1.取得热词信息列表 如:api.yi18.net/top/list 2.取得热词信息详细 如:api.yi18.net/top/show?id=1 更多的API文档 doc.yi18.net/topwendang 数据镜像网站:  top.yi18.net API数据接口的免费开放,希望为更多的APP开发者提供更专业的数据 接口.为APP开发提供更简单的新闻热点板块

百度风云榜相关

时间:2017-8-5 目标:http://top.baidu.com/population?fr=topindex 配置:py3.4 + win7 目的:练习json数据抓取,及满足个人数据瘾 扩展:可选择性别.年龄分类(时间精力有限就没分类排序),可导入excel或是数据库,但我只是闲暇看看,就导入txt了. 完整代码: 1 ''' 2 2017-8-5 0:41 by:羽凡 3 百度风云榜相关 4 py3.4 + win7 5 结果导入txt文件(方便查看,另可导入excel,数据库等(自

Python爬虫入门【2】:妹子图网站爬取

妹子图网站爬取---前言 从今天开始就要撸起袖子,直接写Python爬虫了,学习语言最好的办法就是有目的的进行,所以,接下来我将用10+篇的博客,写爬图片这一件事情.希望可以做好. 为了写好爬虫,我们需要准备一个火狐浏览器,还需要准备抓包工具,抓包工具,我使用的是CentOS自带的tcpdump,加上wireshark ,这两款软件的安装和使用,建议你还是学习一下,后面我们应该会用到. 妹子图网站爬取---网络请求模块requests 妹子图网站爬取---安装requests 打开终端:使用命令

python爬虫百度翻译

python3,爬取的是百度翻译手机版的网页 运用requests,json模块 英汉互译,运行结果 #!/bin/python3 # -*- coding: UTF-8 -*- #============================================= #describe:an en to zh and zh to en translater #version:1 #update:2018-08-03 #--- #author:unihon #E-mail:[email pr

python 爬虫 百度贴吧签到小工具

import requests,re,timeheader ={ "Cookie":"登陆过账号后的cookie 必须填写", "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"}#访问个人帐号下的贴吧主页url = "百

DevExpress.chartControt画趋势图

1 private void DrawLine(DataTable dt) 2 { 3 Myalysis.Series.Clear(); 4 //图标位置 5 Myalysis.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right; 6 Myalysis.Legend.AlignmentVertical = LegendAlignmentVertical.Top; 7 ChartTitle chartTitle = new Ch

Python实战:Python爬虫学习教程,获取电影排行榜

Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本文是在前一部分Python基础之上程序员带你十天快速入门Python,玩转电脑软件开发(四),再次进行的Python爬虫实战课程. 正则表达式实例简单详解 正则表达式干什么用? 就是在字符串中提取我们需要的内容的. 记得哦,要先引用正则表达式模块的哦. re就是正则表达式相

热点热词风云榜-为APP应用提供免费的新闻资讯API接口

热点热词-Yi18事件风云榜 (top.yi18.net) 基于热点关键词二开放的新闻事件关注榜, 系统实时采集人们关注事件-基于百度搜索.搜狗热词.google趋势而采集的实时关注 事件与新闻. 热点热词API文档(doc.yi18.net/topapidoc)专门开放其API接口,         主要 为了让APP开发者更好的为自己的APP应用添加新闻资讯相关的实时数据.为APP应用更 有吸引力. 现在主要有两个API接口: 1.取得热词信息列表 如:api.yi18.net/top/li