清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
自己写的一个简单PHP采集器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?php //**************************************************************** $url = "http://book.sina.com.cn/nzt/lit/zhuxian2/index.shtml" ;// 图书地址 $ver = "old" ; //新旧版本 //**************************************************************** $r = file_get_contents ( $url ); //用file_get_contents将网址打开并读取所打开的页面的内容 preg_match( "/<meta name=\"description\" content=\"(.*?)\">/is" , $r , $booktitle ); //匹配此页面的标题 $bookname = $booktitle [1]; //取第二层数组 $preg = '/<li><a href=(.*).shtml target=_blank class=a03>/isU' ; preg_match_all( $preg , $r , $zj ); //将此页面的章节连接匹配出来 $bookzj = count ( $zj [1]); // 计算章节标题数量 if ( $ver == "new" ){ $content_start = "<!--正文内容开始-->" ; $content_end = "<!--正文内容结束-->" ; } if ( $ver == "old" ){ $content_start = "<\/table><!--NEWSZW_HZH_END-->" ; $content_end = "<br>" ; } header( "Content-Type:text/html;charset=gb2312" ); writer( $bookname . " 共" . $bookzj . "节\r\n帅哥刘并于" . date ( "D M j G:i:s T Y" ). "为了毕业而设计小说整理收集\r\n" , "./ailaopo/" . $bookname . ".txt" , "w+" ); for ( $i =0; $i < $bookzj ; $i ++) { //echo "http://book.sina.com.cn".$zj[1][$i]".shtml";die(); //用file_get_contents将章节连接打开并读取所打开的页面的内容 $str = file_get_contents ( "http://book.sina.com.cn" . $zj [1][ $i ]. ".shtml" ); preg_match( "/(<title>)(.*?)(<\/title>)/is" , $str , $title ); //匹配此连接页面的标题 $title = str_replace ( "_读书频道_新浪网" , "" , $title [2]); //把$title[2]里面有_读书频道_新浪网的换成空 preg_match( "/(" . $content_start . ")(.*?)(" . $content_end . ")/is" , $str , $content ); //匹配此连接页面的内容 $content = preg_replace( "/<(.*?)>/s" , "" , str_replace ( "</p>" , "\r\n" , $content [2])); //用str_replace把$content[2]里有</p> 的换成\r\n print_r( $content ); exit ; //把第".($i+1)."节和标题与内容连接在一起放在变量 $result = " \r\n第" .( $i +1). "节--------" . $title . "_汪老师就是帅 --------- \r\n" . $content ; writer( $result , "./ailaopo/" . $bookname . ".txt" , "a+" ); //调用函数把$result echo "小说" . $bookname . "共" . $bookzj . "节,现在整理到第" . $i . "节 _" . $title . "<br>" ; } echo "小说" . $bookname . "共" . $bookzj . "节 已全部整理完成!" ; function writer( $content , $url , $mode ) //定义函数名 writer 参数$content,$url,$mode { $fp = fopen ( $url , $mode ); //打开文件$url fwrite( $fp , $content ); //把$content放入到$fp fclose( $fp ); //关闭$fp } ?> |