设为首页 收藏本站
查看: 960|回复: 0

[经验分享] php采集程序,大概应该是这个思路

[复制链接]

尚未签到

发表于 2017-4-9 07:07:31 | 显示全部楼层 |阅读模式
   今天王哥让我手动添加视频到自己公司的网站上,因为采集功能坏掉了,所以只能手动添加了。我想是不是我应该做一个类似采集的程序呢?自己就会php,而且早就有用php做一个采集程序的想法,自己的想法就是用php的文件函数读去url上的内容,然后根据标签截取想要的内容,趁着王哥出去办事去了,我偷偷的写了下,
   这段程序是首先读取一个目录的页面,然后把里面的视频链接添加到一个数组中,然后再遍历数组,读取里面的内容,然后在用字符串函数截取自己想要的那段内容,当然了,这段程序没有通用性,我只是根据一个视频网站的html源代码做的,也只能用在这个网站上。
  顺便贴下这个网址:http://u.pomoho.com/lfw(这里面有很多分类栏目,社会,娱乐,游戏,其他等等,输入这些链接就能读取里面的视频的标题和视频,视频是由一个div包着的)
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type = "text/css">
*{
margin:0;
padding:0;
}
body{
background-color:#dfdfdf;
text-align:center;
}
.con{
width:1000px;
height:120px;
}
.h{
width:400px;
}
.r{
width:500px;
height:50px;
margin:5px 0;

}
.b{
width:1000px;
margin:0 auto;
}
</style>
<script type = "text/javascript">
  function copy(obj){
  window.clipboardData.setData("Text",obj.value);
alert("Success!");
}
function check(){

$o = document.getElementById("url");
if($o.value){
document.getElementById("form1").submit();


}else{
alert("不能为空!");

}
}
  </script>
  </head>
<body>
<div class = "r">
<form method = "post" id = "form1" action = "./index.php" onsubmit = "return check();">
请输入网址:<input type = "text" name = "url" id = "url"/>&nbsp;<input type = "submit" value = "OK" />
  
</form>
  </div>
  
<?php
if(isset($_POST['url'])){
echo "<div class = 'b'><table border = '1' width = '100%'>";
$url = $_POST['url'];

//存放视频url的数组
$arr_url = array();
$f = file_get_contents($url);
$str = strstr($f,"<div class=\"bmh_sp_pic\">");
$pos = 0;
$flag = true;
while($flag){




$pos = stripos($str,"<a href=\"http://u.baomihua.com/lfw/",$pos);
if($pos == false){
$flag = false;

}

$str = substr($str,$pos);
$end_pos = stripos($str,"target=_blank");
$s = substr($str,0,$end_pos -1);
$s = substr($s,8);
array_push($arr_url,$s);
//$d += substr($str,0,$end_pos-1);

$str = substr($str,$end_pos-1);
//echo $str;

  }

  
$arr_url = array_unique($arr_url);

for( $m = 0; $m < count($arr_url);$m++){
$temp = $arr_url[$m];
$s = trim($temp,"\"");
$v = @file_get_contents($s);
//找标题
$p = stripos($v,"<h2 style=\"display:none\">");
$p2 = stripos($v,"</h2>",$p);
$t = substr($v,$p+25,$p2-$p);
$t = substr($t,0,strrpos($t,"</h2>"));
echo "<tr><td style = 'background-color:#8d8d8d;'><input type = \"text\" value = \"{$t}\" onclick = \"copy(this);\" class = 'h'/></td><td>{$s}</td></tr>";
  $pos = stripos($v,"class=\"video\"");
$str2 =substr($v,$pos - 5);
$end_pos = stripos($str2,"</div>");
$str2 = substr($str2,0,$end_pos+6);
$sss = htmlspecialchars($str2);
echo "<tr><td colspan = '2'><textarea onclick = \"copy(this)\" class = 'con'>{$sss}</textarea></td></tr>";
}
echo "</table></div>";
}

?>
  
</body>
</html>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-362175-1-1.html 上篇帖子: php __call()与call_user_func_array()理解 下篇帖子: 深入PHP : 面向对象、模式与实践 (第2版)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表