晓夏

小皇

教育信息化方案砖家

php采集程序,php小偷程序教程

浏览量:814



首先呢,我们必须的几个函数,下面所有的内容可以写在同一个页面上。

function preg_substr($start, $end, $str){ // 正则截取函数            
			$temp = preg_split($start, $str);      
			$content = preg_split($end, $temp[1]);      
			return $content[0];      
}   
function str_substr($start, $end, $str) {// 字符串截取函数         
			$temp = explode($start, $str, 2);      
			$content = explode($end, $temp[1], 2);      
			return $content[0];      
}
function getPageLink($url){//获取页面上的所有URL
	set_time_limit(0);
	$html=str_substr('<div class="co_content8">', '<td height="25" align="center" bgcolor="#F4FAE2">', file_get_contents($url));
	//上面这个$html这个是我自己加的一个截取,限定获取到的页面的内容
	preg_match_all("/<a(s*[^>]+s*)href=([\"|']?)([^\"'>\s]+)([\"|']?)/ies",$html,$out);
	$arrLink=$out[3];
	$arrUrl=parse_url($url);
	$dir='';
	if(isset($arrUrl['path'])&&!empty($arrUrl['path'])){
		$dir=str_replace("\\","/",$dir=dirname($arrUrl['path']));
		if($dir=="/"){
			$dir="";
		}
	}
	if(is_array($arrLink)&&count($arrLink)>0){
		$arrLink=array_unique($arrLink);
		foreach($arrLink as $key=>$val){
			$val=strtolower($val);
			if(preg_match('/^#*$/isU',$val)){
				unset($arrLink[$key]);
			}elseif(preg_match('/^\//isU',$val)){
				$arrLink[$key]='http://'.$arrUrl['host'].$val;
			}elseif(preg_match('/^javascript/isU',$val)){
				unset($arrLink[$key]);
			}elseif(preg_match('/^mailto:/isU',$val)){
				unset($arrLink[$key]);
			}elseif(!preg_match('/^\//isU',$val)&&strpos($val,'http://')===FALSE){
				$arrLink[$key]='http://'.$arrUrl['host'].$dir.'/'.$val;
			}
		}
	}
	sort($arrLink);
	return $arrLink;
}




if($_POST){//接受传递过来的网址
	$conn=mysql_connect("localhost", "xxx.xx.xxx", "xxx.xxx.xxx");   
	mysql_query("set names 'utf8'",$conn);
	$links=getPageLink($_POST['url']);//获取这个URL的网页的所有链接。
		// ---------------- 使用实例 ----------------
	foreach($links as $link){
		$body = file_get_contents($link);
		$str = iconv("gb2312","utf-8//IGNORE",$body);//转化内容称utf-8,不然会乱码
		$title = str_substr('<div class="title_all"><h1><font color=#07519a>', "</font></h1></div>", $str);
		$title = htmlspecialchars($title);
		$title = str_replace(array("2009年","2010年","2011年","2012年","2013年","2014年","2015年","2016年","2017年","2018年","2008年","2007年","2006年","2005年","2004年","中英双字幕","国语中字"),"",$title);
		$check = mysql_fetch_row(mysql_db_query("xxx.xxx.xxx", "select * from ff_news where news_name like '%".$title."%'"));
		$content = str_substr('<!--Content Start-->', '</tr><script language=javascript src="/js2/750.js"></script>', $str);
		if(!$check){
			$content = htmlspecialchars($content);
			$result=mysql_db_query("xxx.xxx.xxx", "INSERT INTO `ff_news` (`news_cid`, `news_name`, `news_keywords`, `news_color`, `news_pic`, `news_inputer`, `news_reurl`, `news_remark`, `news_content`, `news_hits`, `news_hits_day`, `news_hits_week`, `news_hits_month`, `news_hits_lasttime`, `news_stars`, `news_status`, `news_up`, `news_down`, `news_jumpurl`, `news_letter`, `news_addtime`, `news_skin`, `news_gold`, `news_golder`) VALUES (23, '".$title."', NULL, '颜色', '', '', '', NULL, '".$content."', 34, 21, 21, 34, 1468484806, 0, 1, 0, 0, '', '0', ".time().", '', '0.0', 0)", $conn);
		// 获取查询结果
			mysql_fetch_row($result);
		}
		header("Content-Type: text/html; charset=utf-8");
		echo $title.'<br />';
		
	}
}




然后是页面弄一个传递网址的。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>采集</title>
<style type="text/css">
input{ width:400px; height:30px; line-height:30px;}
</style>
</head>

<body>
<form action="" method="post">
<table width="800" border="0" cellpadding="0" cellspacing="1">
  <tr>
    <td width="200" height="50" bgcolor="#FFFFFF">网址</td>
    <td height="50" bgcolor="#FFFFFF">
    <input type="text" name="url" id="url"></td>
  </tr>
  <tr>
    <td width="200" height="50" bgcolor="#FFFFFF">&nbsp;</td>
    <td height="50" bgcolor="#FFFFFF"><input type="submit" name="submit" id="submit" value="提交"></td>
  </tr>
</table>
</form>
</body>
</html>


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。