<?php

print_r(getweather(101120501));

/**
* Server 天气情况获取函数
* @param unknown $city
*/
function getweather($city){
$url = "http://www.weather.com.cn/weather1d/".$city.".shtml";
$result = file_get_contents($url);
$result = explode("<li class='dn on' data-dn='todayT'>",$result);
$result = explode("<div class=\"m m2\" id=\"2_3d\">",$result[1]);
$result = mb_convert_encoding($result[0],"GBK","UTF-8");
$first = explode("<div class=\"slid\"></div>",$result);
//print_r($first);exit;
$w1 = get_we_info($first[0]);
$w2 = get_we_info($first[1]);
$week = mb_substr($w1[0],-2);
$arr['w_week'] = $week;
$arr['w_day1'] = trim($w1[1]);
$arr['w_day2'] = trim($w2[1]);
$arr['w_type1'] = trim($w1[2]);
$arr['w_type2'] = trim($w2[2]);
$arr['w_temperature1']= trim($w1[3]);
$arr['w_temperature2']= trim($w2[3]);
return $arr;
}
/**
* 每天的具体天气状况(今天 白天->今天 夜间)
* @param unknown $info
* @return string
*/
function get_we_info($info){
$w_info=explode("</h1>",$info);
$we_arr[0] = strip_tags($w_info[0]);
$w_info=explode("</h2>",$w_info[1]);
$we_arr[1] = strip_tags($w_info[0]);
$w_info = explode("<p class=\"tem\">",$w_info[1]);
$we_arr[2] = strip_tags($w_info[0]);
$w_info=explode("<i>",$w_info[1]);
//$w_info=explode("<p class=\"win\">",$w_info[1]);
$we_arr[3]=strip_tags($w_info[0]);
return $we_arr;
} ?>

php 抓取天气情况 www.weather.com.cn的更多相关文章

  1. C#抓取天气数据

    使用C#写的一个抓取天气数据的小工具,使用正则匹配的方式实现,代码水平有限,供有需要的同学参考.压缩包中的两个sql语句是建表用的. http://files.cnblogs.com/files/yu ...

  2. “最美天气”Python抓取天气

    import urllib.request import urllib.parse import json """     利用"最美天气"抓取即时天 ...

  3. Python抓取天气信息并存储原来这么简单

    我们计划抓取的数据:杭州的天气信息 实现数据抓取的逻辑:使用python 请求 URL,会返回对应的 HTML 信息,我们解析 html,获得自己需要的数据.(很简单的逻辑) 第一步:创建 Pytho ...

  4. 【Python入门只需20分钟】从安装到数据抓取、存储原来这么简单

    基于大众对Python的大肆吹捧和赞赏,作为一名Java从业人员,我本着批判与好奇的心态买了本python方面的书<毫无障碍学Python>.仅仅看了书前面一小部分的我......决定做一 ...

  5. web scraper 抓取分页数据和二级页面内容

    如果是刚接触 web scraper 的,可以看第一篇文章. web scraper 是一款免费的,适用于普通用户(不需要专业 IT 技术的)的爬虫工具,可以方便的通过鼠标和简单配置获取你所想要数据. ...

  6. Powershell抓取网页信息

    一般经常使用invoke-restmethod和invoke-webrequest这两个命令来获取网页信息,如果对象格式是json或者xml会更容易 1.invoke-restmethod 我们可以用 ...

  7. 【应用服务 App Service】App Service中抓取网络日志

    问题描述 众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所 ...

  8. Hibernate之抓取策略

    时间:2017-1-23 19:08 --区分延迟和立即检索1.立即检索    当执行某行代码时,会马上发出SQL语句进行查询.    例如:get()2.延迟检索    当执行某行代码时,不会马上发 ...

  9. Fiddler——抓取https接口配置(web,安卓,ios)

    作为一名合格的测试怎么能不会抓包呢.   抓包适用场景:   测试某个功能时,出现了bug,这时我们便需要抓包看一下这个bug到底是前端的还是服务端的: bug的精准指向,能加速bug得以解决.   ...

随机推荐

  1. 解析request的反馈信息

    Map<String,String> params = new HashMap<String,String>(); Map requestParams = request.ge ...

  2. Windows Azure 社区新闻综述(#75 版)

    欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻.内容和对话.以下是本周的亮点. 文章.视频和博客文章 ·   PowerShell 对 Windows A ...

  3. Maven--构建企业级仓库(二)

    <Maven--搭建开发环境(一)> <Maven--构建企业级仓库(二)> <Maven—几个需要补充的问题(三)>              看到经历的两家公司 ...

  4. 【JavaScript】history.back() 网页已过期

    使用history.back()进行返回时,有时会提示“网页已过期”, 多数是因为目标页面的form为post提交方式,而且是表单已经提交后的响应页面,无法找到form中的具体参数,而“报错”. 具体 ...

  5. CoinChange

    题目 题目:CoinChange 有面额不等的coins,数量无限,要求以最少的\(coins\)凑齐所需要的\(amount\). 若能,返回所需的最少coins的数量,若不能,返回-1. Exam ...

  6. 提高你开发效率的十五个Visual Studio 2010使用技巧

    提高你开发效率的十五个Visual Studio 2010使用技巧 相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个ID ...

  7. C# 继承细节

    假定没有为类定义任何显式的构造函数,这样编译器就会为所有的类提供默认的构造函数,在后台会进行许多操作,编译器可以很好地解决层次结构中的所有问题,每个类中的每个字段都会初始化为默认值.但在添加了一个我们 ...

  8. Arachnid包含一个简单的HTML剖析器能够分析包含HTML内容的输入流

    Arachnid是一个基于Java的web spider框架.它包含一个简单的HTML剖析器能够分析包含HTML内容的输入流.通过实现Arachnid的子类就能够开发一个简单的Web spiders并 ...

  9. Swift实战-QQ在线音乐(第一版)

    //一.*项目准备 1.QQ音乐App 界面素材:(我使用PP助手,将QQ音乐App备份,解压ipa文件 即可得到里面的图片素材) 2.豆瓣电台接口:"http://douban.fm/j/ ...

  10. Android学习笔记之View(一):LayoutInflater

    使用LayoutInflater加载布局的两种方式: 第一种: LayoutInflater inflater=LayoutInflater.from(context); inflater.infla ...