PHP CURL抓取网页 simple_html_dom类
抓取网页数据后 数据录入到discuz中
<?php
include('simple_html_dom.php'); function urlText(){
$url = 'http://www.kxt.com/data/3.html';//外汇
$ch=curl_init();
$timeout = 1; // echo CURLOPT_URL; // CURLOPT_URL: 这是你想用PHP取回的URL地址。你也可以在用curl_init()函数初始化时设置这个选项
curl_setopt($ch, CURLOPT_URL, $url); // echo CURLOPT_RETURNTRANSFER; //使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // CURLOPT_CONNECTTIMEOUT用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况;
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); // 可以将他返回的内容赋值给一个变量。只需再前面加上,curl_setopt($ch,CUROPT_RETURNTRANSFER,1);就可以将返回结果赋值给变量了。
//
// 比如,$r=curl_exec($ch);这时返回的结果全部包含再$r中,想什么时候输出什么时候输出,如果不准备要他的结果,那么就将前面的1换成0
$lines_string=curl_exec($ch);
// print_r($lines_string);
curl_close($ch); //提取table
$dom = new simple_html_dom();
$dom->load($lines_string);
$ret = $dom->find(".dataList ul",1)->innertext; //数据分析
// print_r($ret); return $ret;
} $ret = urlText();
// print_r($ret); die;
$arr = explode("</li>",$ret); //一维数组
// echo '<pre>';
// print_r($arr); die; $list = $datatime = array();
if(!empty($arr)){
foreach($arr as $k=>$val){
// print_r($val);
$list = explode("</span>",$val); //二维数组
// echo '<pre>';
// print_r($list);die;
//
// 数组$param 下标和数据库中字段对应
$param = array(
'lmci_dateline' =>str_arr($list[0]), //[lmci_dateline] => 1438358401
'lmci_befor'=>trim(strip_tags($list[2])),
'lmci_publish'=>trim(strip_tags($list[3])),
'lmci_baiyin'=>trim(strip_tags($list[4])),
'lmci_yuanyou'=>trim(strip_tags($list[5])),
'lmci_date'=>trim(strip_tags($list[0])), //日期 [lmci_date] => 2015年08月
);
// echo '<pre>';
// print_r($param);
// if($param['lmci_dateline']!=''){
// 执行 插入到数据库中
// C::t('common_lmci')->insert($param, true);
} }
} function str_arr($str){
$array = explode("年", strip_tags($str));
// echo '<pre>';
// print_r($array);
$arr['year'] = $array[0];
$arr['month'] = str_replace("月", '',$array[1]);
echo '<pre>';
print_r($arr);
$data = mktime(00, 00, 01, $arr['month'] , 1, $arr['year']);
return $data;
}
?>
PHP CURL抓取网页 simple_html_dom类的更多相关文章
- PHP使用CURL抓取网页
CURL是一个非常强大的开源库,支持很多协议,包括HTTP.FTP.TELNET等,我们使用它来发送HTTP请求.它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS ...
- php使用curl抓取网页自动跳转问题处理
问题分析: 请求抓取http://go.com数据: function curlGet($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, ...
- C语言调用curl库抓取网页图片
思路是先用curl抓取网页源码,然后以关键字寻找出图片网址. #include <stdio.h> #include <stdlib.h> #include <str ...
- C语言调用curl库抓取网页图片(转)
思路是先用curl抓取网页源码,然后以关键字寻找出图片网址. 范例: #include <stdio.h> #include <stdlib.h> #include < ...
- php curl_multi系列函数实现多线程抓取网页
最近几天在做一个多搜索引擎关键字排名查询工具,用于及时方便的了解关键词在各大搜索引擎的排名. 在抓取360搜索的时候,发现360搜索每页只支持显示10个搜索结果,如果想获取100个搜索结果数据,就得搜 ...
- curl抓取页面时遇到重定向的解决方法
用php的curl抓取网页遇到了问题,为阐述方便,将代码简化如下: <?php function curlGet($url) { $ch = curl_init(); curl_setopt($ ...
- PHP利用Curl实现多线程抓取网页和下载文件
PHP 利用 Curl 可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,然而因为php语言本身不支持多线程,所以开发爬虫程序效率并不高,一般采集 数据可以利用 PHPquery ...
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
通过curl_setopt()函数可以方便快捷的抓取网页(采集很方便),curl_setopt 是php的一个扩展库 使用条件:需要在php.ini 中配置开启.(PHP 4 >= 4.0.2) ...
- PHP的cURL库:抓取网页,POST数据及其他,HTTP认证 抓取数据
From : http://developer.51cto.com/art/200904/121739.htm 下面是一个小例程: ﹤?php// 初始化一个 cURL 对象$curl = curl_ ...
随机推荐
- 网际协议IP简述
最近花了些时间重新回顾了谢希仁教授主编的<计算机网络>关于网络层的章节,这是一本高校教材,里面关于计算机网络的内容比较基础,并且讲的很细致,笔者针对网际协议IP地址部分觉得有必要进行阅读后 ...
- Laravel-Action 对代码的改造
前言 以往写过俩篇文章[积德篇] 如何少写PHP "烂"代码 https://segmentfault.com/a/11...举枪消灭"烂代码"的实战案例 ht ...
- git 的简单使用(4)
多人协作的工作模式通常是这样: 首先,可以试图用git push origin <branch-name>推送自己的修改: 如果推送失败,则因为远程分支比你的本地更新,需要先用git pu ...
- 【[Offer收割]编程练习赛13 A】风格不统一如何写程序
[题目链接]:http://hihocoder.com/problemset/problem/1501 [题意] [题解] 模拟题 [Number Of WA] 1 [完整代码] #include & ...
- 球的序列(formation.*)
N个编号为1-n的球,每个球都有唯一的编号.这些球被排成两种序列,分别为A.B序列,现在需要重新寻找一个球的序列l,对于这个子序列l中任意的两个球,要求j,k(j<k),都要求满足lj在A中 ...
- 洛谷——P2639 [USACO09OCT]Bessie的体重问题Bessie's We…
https://www.luogu.org/problem/show?pid=2639 题目描述 Bessie像她的诸多姊妹一样,因为从Farmer John的草地吃了太多美味的草而长出了太多的赘肉. ...
- ZooKeeper的下载方法
1.进入官网: https://zookeeper.apache.org/releases.html 2.进入服务器列表: http://www.apache.org/dyn/closer.cgi/z ...
- N天学习一个Linux命令之hostnamectl
前言 安装了CentOS7,发现按照以前修改文件/etc/sysconfig/network HOSTNAME字段主机名的方式不生效了,查资料发现可以使用hostnamectl命令 用途 Contro ...
- MYSQL 源码
http://www.cnblogs.com/wingsless/tag/MySQL/
- keras 与tensorflow 混合使用
keras 与tensorflow 混合使用 tr:nth-child(odd) > td, .table-striped tbody > tr:nth-child(odd) > t ...