curl中get方法抓取网页
2019-01-08 23:24
316 查看
版权声明:俗世凡人行(释) QQ:748507607 https://blog.csdn.net/weixin_41887155/article/details/86106201
目录
一: 基础
1.使用get方法请求一个网页,得到网页内容后可以匹配出对应的内容。
2.使用curl封装一个函数,假设函数名就为get。传入url就能请求指定的网页,将指定网页的HTML代码返回回来。代码如下:
[code]function get($url) { //初使化curl $ch = curl_init(); //请求的url,由形参传入 curl_setopt($ch, CURLOPT_URL, $url); //将得到的数据返回 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不处理头信息 curl_setopt($ch, CURLOPT_HEADER, 0); //连接超过10秒超时 curl_setopt($ch, CURLOPT_TIMEOUT, 10); //执行curl $output = curl_exec($ch); //关闭资源 curl_close($ch); //返回内容 return $output; }
二: 采集数据
网址为新媒体观察网的新闻列表页:http://www.xmtnews.com/events ,采集下面内容
1.得到采红色区间的html
这个区间从下面的HTML代码开始:
[code]<section class="ov">
在以下代码结束:
[code]<div class="hr-10"></div>
使用preg_match写一个正则表达示就匹配就得到了红色区间的HTML。将匹配到的HTML赋值给变量$area。
匹配的正则表达示如下:
[code]<section class="ov">(.*?)<div class="hr-10"><\/div>/mis'
2.在红色区域匹配标题和标题的URL
我们发现所有的标题都在<h3>标签里面。我们使用preg_match_all写一个正则表达示。
[code]preg_match_all('/<h3><a href="(.*?)" title=".*?" class="headers" target="_blank">(.*?)<\/a><\/h3>/mis', $area, $find);
将url和内容匹配出来的内容放置到$find中,将$find数组,打印出来就可以看到匹配的结果了。
如果需要,也可以循环读取显示每一行标题和每一行URL。
三: 代码演示
[code]<?php $content = get('http://www.xmtnews.com/events'); preg_match('/<section class="ov">(.*?)<div class="hr-10"><\/div>/mis', $content, $match); //将正则匹配到的内容赋值给$area $area = $match[1]; preg_match_all('/<h3><a href="(.*?)" title=".*?" class="headers" target="_blank">(.*?)<\/a><\/h3>/', $area, $find); var_dump($find); function get($url) { //初使化curl $ch = curl_init(); //请求的url,由形参传入 curl_setopt($ch, CURLOPT_URL, $url); //将得到的数据返回 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不处理头信息 curl_setopt($ch, CURLOPT_HEADER, 0); //连接超过10秒超时 curl_setopt($ch, CURLOPT_TIMEOUT, 10); //执行curl $output = curl_exec($ch); //关闭资源 curl_close($ch); //返回内容 return $output; } ?>
相关文章推荐
- php发送Http请求,抓取网页数据方法(cURL,file_get_contents,snoopy)
- php file_get_contents抓取Gzip网页乱码的三种解决方法
- JAVA 抓取网页之GET方法
- PHP中使用file_get_contents抓取网页中文乱码问题解决方法
- PHP中使用file_get_contents抓取网页中文乱码问题解决方法
- pytyhon抓取网页内容get post方法
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
- 经典抓取网络数据方法效率分析(fsockopen/curl/file_get_contents)
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
- Spider网络爬虫学习——通过Get、Post方法直接抓取网页内容
- php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
- 网页投票方法-curl.exe 运行与windows平台,类似于linux下的curl,能够方便的抓取远程的网页。
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
- PHP下通过file_get_contents\curl的方法实现获取远程网页内容(别忘了还有PhpRPC)
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
- php使用curl 实现GET和POST请求(抓取网页,上传文件),支持跨项目和跨服务器
- php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
- php file_get_contents抓取Gzip网页乱码的三种解决方法
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)