php 抓取天气情况 www.weather.com.cn
<?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的更多相关文章
- C#抓取天气数据
使用C#写的一个抓取天气数据的小工具,使用正则匹配的方式实现,代码水平有限,供有需要的同学参考.压缩包中的两个sql语句是建表用的. http://files.cnblogs.com/files/yu ...
- “最美天气”Python抓取天气
import urllib.request import urllib.parse import json """ 利用"最美天气"抓取即时天 ...
- Python抓取天气信息并存储原来这么简单
我们计划抓取的数据:杭州的天气信息 实现数据抓取的逻辑:使用python 请求 URL,会返回对应的 HTML 信息,我们解析 html,获得自己需要的数据.(很简单的逻辑) 第一步:创建 Pytho ...
- 【Python入门只需20分钟】从安装到数据抓取、存储原来这么简单
基于大众对Python的大肆吹捧和赞赏,作为一名Java从业人员,我本着批判与好奇的心态买了本python方面的书<毫无障碍学Python>.仅仅看了书前面一小部分的我......决定做一 ...
- web scraper 抓取分页数据和二级页面内容
如果是刚接触 web scraper 的,可以看第一篇文章. web scraper 是一款免费的,适用于普通用户(不需要专业 IT 技术的)的爬虫工具,可以方便的通过鼠标和简单配置获取你所想要数据. ...
- Powershell抓取网页信息
一般经常使用invoke-restmethod和invoke-webrequest这两个命令来获取网页信息,如果对象格式是json或者xml会更容易 1.invoke-restmethod 我们可以用 ...
- 【应用服务 App Service】App Service中抓取网络日志
问题描述 众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所 ...
- Hibernate之抓取策略
时间:2017-1-23 19:08 --区分延迟和立即检索1.立即检索 当执行某行代码时,会马上发出SQL语句进行查询. 例如:get()2.延迟检索 当执行某行代码时,不会马上发 ...
- Fiddler——抓取https接口配置(web,安卓,ios)
作为一名合格的测试怎么能不会抓包呢. 抓包适用场景: 测试某个功能时,出现了bug,这时我们便需要抓包看一下这个bug到底是前端的还是服务端的: bug的精准指向,能加速bug得以解决. ...
随机推荐
- 引用 IP电话的原理结构及其关键技术
引用 茫然 的 两种将字符串转换成浮点数的方法 方法一: char szString[] = "-2876.99812376443"; double db1; db1 = atof ...
- c++继承构造子类调用父类构造函数的问题及关于容器指针的问题及当容器里储存指针时,记得要手动释放
看下面的一个问题: class Person { private: string name; public: Person(const string& s=""){ nam ...
- Eclipse 取消import自动补全具体的类名
有时候,在代码里写了一个JFrame,然后Eclipse就自动添加了import javax.swing.JFrame; 但有时候希望只要import javax.swing.*;就可以了,不希望具体 ...
- css网页自适应-2
昨天中午Google进行了一次在线讲座,讲述自适应网页设计的概念和方法,维护同一个网页代码,即可使网站在多种浏览设备(从桌面电脑显示器到智能手机或其他移动产品设备)上具有更好的阅读体验,这里我将该讲座 ...
- portal---easyui
一,效果图. 二,源代码. <!doctype html><html><head> <meta http-equiv="Content-Type&q ...
- dhtmlx使用学习
Var tabbar=new dhtmlXTabBar("tab","top"); tabbar.setImagePath("./tabbar/cod ...
- POJ1273 最大流 EK算法
套了个EK的模板 //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #include <stdi ...
- 界面控件 - 滚动条ScrollBar(对滚动条消息和鼠标消息结合讲的不错)
界面是人机交互的门户,对产品至关重要.在界面开发中只有想不到没有做不到的,有好的想法,当然要尝试着做出来.对滚动条的扩展,现在有很多类是的例子. VS2015的代码编辑是非常强大的,其中有一个功能可以 ...
- jsp获取一个对象和list对象
DiscHd ks = DiscHdService.getDiscHdByID(code); model.addAttribute("ks", ks); 如果传的是对象,则jsp页 ...
- 转:Linus:利用二级指针删除单向链表
感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多,并加入了插图) Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是 ...