【数据分析】网页数据提取
huojunan22016/03/14软件综合 IP:北京
最近需要用到XXXXXXXXXXXXXXXXXXXXXX/里的左侧菜单栏的监测曲线里的PM2.5数据,
1.jpg
之前都是逐个手工输入excel,遇到数据量大的时候就很费时费力了,而且页面会定时刷新,刷新后需要重新设定检索时间段,非常麻烦,所以希望能从网页中提取出不同时间点下的PM2.5数据。

先试了excel的数据导入,但是显示不了窗口,
2.jpg


但是可以输出SVG文件,右键可以查看源代码,用SVGdeveloper确定了坐标轴和数据点对应的代码,但是理解不了,烦请各位大侠给讲讲,下面是2016年3月13日00:00时单点SVG对应的代码
3.jpg


[blockquote]<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "XXXXXXXXXXXXXXXXX/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns:xlink="XXXXXXXXXXXXXXXXX/1999/xlink" version="1.1" xmlns="XXXXXXXXXXXXXXXXX/2000/svg" width="600" height="400">
        <desc>Created with Highcharts 3.0.9</desc>
        <defs>
                <clipPath id="highcharts-52">
                        <rect fill="none" x="0" y="0" width="511" height="309"></rect>
                </clipPath>
        </defs>
        <rect rx="0" ry="0" fill="#FFFFFF" x="0" y="0" width="600" height="400"></rect>
        <g class="highcharts-grid"></g>
        <g class="highcharts-grid">
                <path fill="none" d="M 69 57.5 L 580 57.5" stroke="#C0C0C0" stroke-width="1" opacity="1"></path>
                <path fill="none" d="M 69 135.5 L 580 135.5" stroke="#C0C0C0" stroke-width="1" opacity="1"></path>
                <path fill="none" d="M 69 213.5 L 580 213.5" stroke="#C0C0C0" stroke-width="1" opacity="1"></path>
                <path fill="none" d="M 69 290.5 L 580 290.5" stroke="#C0C0C0" stroke-width="1" opacity="1"></path>
                <path fill="none" d="M 69 367.5 L 580 367.5" stroke="#C0C0C0" stroke-width="1" opacity="1"></path>
        </g>
        <g class="highcharts-axis">
                <path fill="none" d="M 324.5 367 L 324.5 372" stroke="#C0D0E0" stroke-width="1" opacity="1"></path>
                <path fill="none" d="M 69 367.5 L 580 367.5" stroke="#C0D0E0" stroke-width="1" visibility="visible"></path>
        </g>
        <g class="highcharts-axis">
                <text x="28.25" y="212.5" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:12px;color:<a href=" p="" 4?redirect="true"" target="_blank">#4d759e;font-weight:bold;fill:#4d759e;" text-anchor="middle" transform="translate(0,0) rotate(270 28.25 212.5)" visibility="visible"> </text>
                        <tspan x="28.25">PM2.5(ug/m3)</tspan>
                </text>
        </g>
        <g class="highcharts-series-group">
                <g class="highcharts-series" visibility="visible" transform="translate(69,58) scale(1 1)" clip-path="url(#highcharts-52)">
                        <path fill="none" d="M 245.5 71.07000000000002 L 265.5 71.07000000000002" stroke-linejoin="round" visibility="visible" stroke-opacity="0.0001" stroke="rgb(192,192,192)" stroke-width="22" class=" highcharts-tracker"></path>
                </g>
                <g class="highcharts-markers highcharts-tracker" visibility="visible" transform="translate(69,58) scale(1 1)" clip-path="none">
                        <path fill="<a href=" p="" 2?redirect="true"" target="_blank">#2f7ed8" d="M 255 67.07000000000002 C 260.328 67.07000000000002 260.328 75.07000000000002 255 75.07000000000002 C 249.672 75.07000000000002 249.672 67.07000000000002 255 67.07000000000002 Z"></path>
                </g>
        </g>
        <text x="295" y="25" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:16px;color:<a href=" p="" 274?redirect="true"" target="_blank">#274b6d;fill:#274b6d;" text-anchor="middle" class="highcharts-title"> </text>
                <tspan x="295">北京PM2.5小时变化趋势</tspan>
        </text>
        <text x="295" y="40" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:12px;color:<a href=" p="" 4?redirect="true"" target="_blank">#4d759e;fill:#4d759e;" text-anchor="middle" class="highcharts-subtitle"> </text>
                <tspan x="295">最小值:154  平均值:154.0  最大值:154</tspan>
        </text>
        <g class="highcharts-axis-labels">
                <text x="324.5" y="381" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:11px;color:<a href=" p="" 666?redirect="true"" target="_blank">#666;cursor:default;fill:#666;" text-anchor="middle" opacity="1"> </text>
                        <tspan x="324.5">03-13</tspan>
                </text>
        </g>
        <g class="highcharts-axis-labels">
                <text x="61" y="370" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:11px;color:<a href=" p="" 666?redirect="true"" target="_blank">#666;cursor:default;fill:#666;" text-anchor="end" opacity="1"> </text>
                        <tspan x="61">0</tspan>
                </text>
                <text x="61" y="292.75" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:11px;color:<a href=" p="" 666?redirect="true"" target="_blank">#666;cursor:default;fill:#666;" text-anchor="end" opacity="1"> </text>
                        <tspan x="61">50</tspan>
                </text>
                <text x="61" y="215.5" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:11px;color:<a href=" p="" 666?redirect="true"" target="_blank">#666;cursor:default;fill:#666;" text-anchor="end" opacity="1"> </text>
                        <tspan x="61">100</tspan>
                </text>
                <text x="61" y="138.25" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:11px;color:<a href=" p="" 666?redirect="true"" target="_blank">#666;cursor:default;fill:#666;" text-anchor="end" opacity="1"> </text>
                        <tspan x="61">150</tspan>
                </text>
                <text x="61" y="61" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:11px;color:<a href=" p="" 666?redirect="true"" target="_blank">#666;cursor:default;fill:#666;" text-anchor="end" opacity="1"> </text>
                        <tspan x="61">200</tspan>
                </text>
        </g>
        <g class="highcharts-tooltip" style="cursor:default;padding:0;white-space:nowrap;" transform="translate(0,-999)">
                <rect rx="3" ry="3" fill="none" x="0.5" y="0.5" width="16" height="16" fill-opacity="0.85" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect>
                <rect rx="3" ry="3" fill="none" x="0.5" y="0.5" width="16" height="16" fill-opacity="0.85" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect>
                <rect rx="3" ry="3" fill="none" x="0.5" y="0.5" width="16" height="16" fill-opacity="0.85" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect>
                <rect rx="3" ry="3" fill="rgb(255,255,255)" x="0.5" y="0.5" width="16" height="16" fill-opacity="0.85"></rect>
                <text x="8" y="21" style="font-family:'lucida grande', 'lucida sans unicode', verdana, arial, helvetica, sans-serif;font-size:12px;color:<a href=" p="" 333333?redirect="true"" target="_blank">#333333;fill:#333333;"></text>
        </g>
        <text x="519" y="43" xml:space="preserve" font-family="Microsoft YaHei UI" font-size="12" fill="#FFFFFF" stroke="none" stroke-opacity="0" ></text>
</svg>
[/blockquote]下面这些是坐标轴的
[blockquote]<g class="highcharts-grid" ><path fill="none" d="M 69 57.5 L 580 57.5" stroke="#C0C0C0" stroke-width="1"  opacity="1">
</path><path fill="none" d="M 69 135.5 L 580 135.5" stroke="#C0C0C0" stroke-width="1"  opacity="1">
    
</path><path fill="none" d="M 69 213.5 L 580 213.5" stroke="#C0C0C0" stroke-width="1"  opacity="1">
    
</path><path fill="none" d="M 69 290.5 L 580 290.5" stroke="#C0C0C0" stroke-width="1"  opacity="1">
    
</path><path fill="none" d="M 69 367.5 L 580 367.5" stroke="#C0C0C0" stroke-width="1"  opacity="1"></path></g>[/blockquote]这个是坐标点的代码:
[blockquote]<path fill="<a href=" p="" 2?redirect="true"" target="_blank">#2f7ed8" d="M 255 67.07000000000002 C 260.328 67.07000000000002 260.328 75.07000000000002 255 75.07000000000002 C 249.672 75.07000000000002 249.672 67.07000000000002 255 67.07000000000002 Z">[/blockquote]</path>分析到这里时间格式和PM2.5浓度搞不出来,恳请各位大侠相助,谢谢 4.jpg
来自:计算机科学 / 软件综合
15
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
huojunan2 作者
8年9个月前 IP:北京
812454
引用 radio:
可以从 XXXXXXXXXXXXXXXXXXXXXX/api/getdata_XXXXXXXXXXXXXp 这里获得数据
用post方法向这个地址传送以下参数:
city:"5p2t5bee"             //"杭州"的ba...
感谢,真是帮大忙了,这是取得了数据接口么
本人完全的小白
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
huojunan2作者
8年9个月前 IP:北京
812514
引用 radio:
# -*- coding:utf8 -*-
import urllib2,urllib,random,string,base64,time,datetime,re
import string
timestart = datetime....
这个python脚本我应该在那种环境下运行?python里,还是其他地方?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
huojunan2作者
8年9个月前 IP:北京
812615
引用 radio:
不好意思没看清主贴。。楼主要获取北京的数据得把第10行的'5p2t5bee'改成‘北京’的编码'5YyX5Lqs'才行蛤
29行的'杭州'也换成'北京'
谢谢
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
huojunan2作者
8年9个月前 IP:北京
812827
引用 radio:
可以从 XXXXXXXXXXXXXXXXXXXXXX/api/getdata_XXXXXXXXXXXXXp 这里获得数据
用post方法向这个地址传送以下参数:
city:"5p2t5bee"             //"杭州"的ba...
post方法能讲解下么?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}