最近小组作业是写一个空气网站的爬虫和模型分析,我主要负责爬虫的部分。
分析网站是这个:绿色呼吸空气监测网
爬取全部城市、url和单个城市当天总体和各个监测点数据都进行得很顺利,但卡在了提取24h和30天内pm2.5的变化部分。
选一个具体城市进行分析:北京城市空气实时监测网
在实时监测的图标上右键查看源代码,发现这是个动态加载模块(点其他点儿它是会变的。。)
于是搜了一下这个简单直白的“美国标准”,发现了这个:
定位到具体源代码,发现在最后一个script里:
源代码如下:
<script>
seajs.use(['common', 'tabs', 'echarts'], function(common, Tabs){
$(document).ready(function(){
common.listHover();
new Tabs({
element: '.pj_area',
triggers: '.pj_area_tab a',
triggerType: 'click',
activeTriggerClass: 'current',
panels: '.pj_area_data_details',
activeIndex: 0
});
new Tabs({
element: '.panel_graph',
triggers: '.pg_area_tab a',
triggerType: 'click',
activeTriggerClass: 'current',
panels: '.pg_content',
activeIndex: 0
});
// 基于准备好的dom,初始化echarts图表
var myChart = echarts.init(document.getElementById('pg_content_24h'), 'shine');
var option = {
color: ['#79b05f', '#e58c65'],
tooltip : {
trigger: 'axis'
},
legend: {
data:['美国标准','中国标准']
},
xAxis : [
{
type : 'category',
boundaryGap : false,
data : ["27\u65e519\u65f6","27\u65e520\u65f6","27\u65e521\u65f6","27\u65e522\u65f6","27\u65e523\u65f6","28\u65e500\u65f6","28\u65e501\u65f6","28\u65e502\u65f6","28\u65e503\u65f6","28\u65e504\u65f6","28\u65e505\u65f6","28\u65e506\u65f6","28\u65e507\u65f6","28\u65e508\u65f6","28\u65e509\u65f6","28\u65e510\u65f6","28\u65e511\u65f6","28\u65e512\u65f6","28\u65e513\u65f6","28\u65e514\u65f6","28\u65e515\u65f6","28\u65e516\u65f6","28\u65e517\u65f6","28\u65e518\u65f6"],
axisLine: {
lineStyle : {
color: '#d4d4d4'
}
}
}
],
yAxis : [
{
type : 'value',
axisLabel : {
formatter: '{value} '
},