php采集网
❶ 怎么用php采集网站数据
简单的分了几个步骤抄:
1、确定采集目标
2、获取目标远程页面内容(curl、file_get_contents)
3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样
4、入库
❷ 求带登录的网站采集php源码或思路
获取链接的数据以后,加个判断:如果需要登陆 ,则使用php的curl函数来模拟post;不需要登陆则直接采集。
❸ php怎么实现采集网易新闻,并且带有分页效果
对于第一项表单而言
比如:
内容的第一页http://php168.com/1/index-22.html
内容的第二页http://php168.com/1/index-22_2.htm
那么表单填.html
分析规则就是对比第一页与第二页的网址从左到右哪个字符出现不同,就把第一页网址之后的字符复制出来
如果是这种情况
http://php168.com/1/index.php?id=2&page=1
http://php168.com/1/index.php?id=2&page=2
对于这种情况,他后面不同的是一个数字,即是页码数字的话,就不需要填写.留空即可
对于第二项表单而言
第一页http://php168.com/1/index-22.html
第二页http://php168.com/1/index-22_2.htm
那么右边的表单填_[page].htm
分析规则就是对比第一页与第二页的网址从左到右哪个字符出现不同,就把第二页的网址之后的字符复制出来,并把变动的页码数字用[page]替换
如果是这种情况
http://php168.com/1/index.php?id=2&page=1
http://php168.com/1/index.php?id=2&page=2
对于这种情况,他后面不同的是一个数字,即是页码数字的话,更简单,只需要填写[page]即可
对于第三项表单而言
第一页http://php168.com/1/index.html
第二页http://php168.com/1/index_1.html
此时属于怪癖的,理论上应该是
第三页http://php168.com/1/index_2.html
所以表单请选择是,但一般情况都是选否的,也就是说页码数字为1却是第二页.页码数为2却是第三页.就属于特殊现象.需要选则是.
❹ 请问如何通过php采集指定网址的指定内容
用正则啊
这样怎么能获取到呢
❺ 用PHP如何采集网站首页的标题和内容
[php]<?
functionget_contents($url){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,1000);
$file_contents=curl_exec($ch);
curl_close($ch);
return$file_contents;
}
$url="http://play.kankan.xunlei.com/?hallid=2959";
$con=get_contents($url);
$con=str_replace(""../",""http://kankan.xunlei.com/",$con);
echo$con;
?>[/php]
❻ php使用3种方法实现数据采集 什么叫采集
下面的php代码可以将表格的每行每列转为数组,采集表格数据
<?php function get_td_array($table) { $table = preg_replace("'<table[^>]*?>'si","",$table); $table = preg_replace("'<tr[^>]*?>'si","",$table); $table = preg_replace("'<td[^>]*?>'si","",$table); $table = str_replace("</tr>","{tr}",$table); $table = str_replace("</td>","{td}",$table); //去掉 HTML 标记 $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); //去掉空白字符 $table = preg_replace("'([rn])[s]+'","",$table); $table = str_replace(" ","",$table); $table = str_replace(" ","",$table); $table = explode('{tr}', $table); array_pop($table); foreach ($table as $key=>$tr) { $td = explode('{td}', $tr); array_pop($td); $td_array[] = $td; } return $td_array; } ?>
❼ php 采集个网站内容
$data=get_meta_tags('url');
echo $data['description'];
❽ PHP采集网页中指定的内容
你如果是单个页面的话不需要正规表达式,只要找到自己需要的部分看看前面和后面有什么唯一性的标识,截取出来就可以了。
❾ php采集网站视频怎样做啊
不知道是抓取视频呢
还是单纯采集网址
我觉得应该是后者
其实很简单
读取网页源代码
正则过滤出url就可以了
❿ 用php做采集功能网站的思路是怎样的,我会CURL和http,但是有些没有思路
1、指定一个列表页,用curl或file_get_contents将页面读取进来;
2、用正则或者XML分析DOM,获取到列表中文章的超链接,将其保存为一个任务数组;
3、遍历数组(循环),使用curl或file_get_contents将数组中的超链接指向的页面读取进来;
4、用正则或者XML分析DOM,获取到文章正文内容,将内容写入数据库中或者使用file_put_contents保存下来。
这是我的大体思路,有错误之处请指正。
可能需要注意的问题:如果页面超时,可以改大脚本运行超时间;为了提高效率是否要改为并发执行的curl_multi;如果被盗取的网站使用了参考referer的防盗链机制需要伪造referer等。