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得以解决. ...
随机推荐
- A package manager for Qt
官网 http://www.qpm.io/ A package manager for Qt 注释:这个网站类似JavaScript的包管理器的网站https://www.npmjs.com/ 都是给 ...
- 设计模式总结6--适配器模式 adapter pattern
适配器模式将一个类的接口,转化成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间 public interface Sheep{ public void run(); public voi ...
- HNOI2016 网络
题目 朴素算法 在线. 树链剖分套一个堆. 时间复杂度\(O(n (\log n)^3)\). 分治 朴素算法中,套一个堆是为了支持删除操作. 采用以下分治可以避免删除操作: 每次对时间\([l,r] ...
- poj 3984 迷宫问题(dfs)
题目链接:http://poj.org/problem?id=3984 思路:经典型的DFS题目.搜索时注意剪枝:越界处理,不能访问处理. 代码: #include <iostream> ...
- 完整的Android手机短信验证源码
短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台 1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后, ...
- Cocoapods安装步骤
Cocoapods安装步骤 1.升级Ruby环境 终端输⼊入:$ gem update --system 此时会出现 ERROR: While executing gem ... (Gem::File ...
- C语言结构体变量内存分配与地址对齐
地址对齐简单来说就是为了提高访问内存的速度. 数组的地址分配比较简单,由于数据类型相同,地址对齐是一件自然而然的事情. 结构体由于存在不同基本数据类型的组合,所以地址对齐存在不同情况,但总体来说有以下 ...
- Best Component for Bitmap Image
The best is to purchase ImageEn and use the latest version. Coz nothing compares to ImageEn.... But ...
- python爬虫实战2百度贴吧爬html
转自:http://blog.csdn.net/wxg694175346/article/details/8927832 import string, urllib2 #定义百度函数 def baid ...
- mojo 接口返回键值对的json格式
my $c = shift; use DBI; my %hash=(); my $dbUser='zabbix'; my $user="root"; my $passwd=&quo ...