如何实现调用百度搜索结果,仅将标题显示在自己网站上。 如何实现调用百度搜索结果,仅将标题显示在自己网站上?如这个网站:http://www.xxjszj.net/ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?include ("ugs.php"); // 你可以下载本ugs.phps 然后重命名为ugs.php$ugs = new ugs();$url = "http://domainname.com/path_to_your_target?param";$ugs->seturl($url);$ugs->gather();//............这里可以调用本类里的其它方法,对$ugs->value_ 做调整,以满足您的要求$content=$ugs->getcontent();print($content);?>*/class ugs{var $value_ ; //'目标内容var $src_ ; //'目标URL地址function seturl($url){ $this->src_=$url;}function getcontent(){ return $this->value_;}function getfile($url)// 获取目标{ $url_parsed = parse_url($url); $host = $url_parsed["host"]; $port = $url_parsed["port"]; if ($port==0) $port = 80; $path = $url_parsed["path"]; if (empty($path)) $path="/"; if ($url_parsed["query"] != "") $path .= "?".$url_parsed["query"]; $out = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n"[font=新宋体]; $fp = fsockopen($host, $port, $errno, $errstr, 30); fwrite($fp, $out); $body = false; while (!feof($fp)) { $s = fgets($fp, 1024); if ( $body ) $in .= $s; if ( $s == "\r\n" ) $body = true; } fclose($fp); return $in; } function getfile_curl($url) {$curl="/usr/local/bin/curl " ; // path to your curl $curl_options=" -s --connect-timeout 10 --max-time 10 "; // curl 用法请参考 curl --help 或者 man curl // curl 参数非常之丰富,可以模拟各种浏览器(agent) 可以设置referer$cmd="$curl $curl_options $url ";@exec($cmd,$o,$r);if($r!=0) { return "超时";}else{[color=#000000] $o=join("",$o); return $o;} }function gather_curl($curl){ $http=$this->getfile_curl($this->src_); return $this->value_=$http;}function gather_array($url){ return file($url);}function gather()// 开始收集{ $http=$this->getfile($this->src_); return $this->value_=$http;}function gather_local($toline=true)// 处理本地文件{ if($toline) { $http=file($this->src_); return $this->value_=$this->BytesToBstr($http); } else { $http=file($this->src_); return $this->value_=$http[font=新宋体]; } }function noReturn()// 删除回车换行{ $this->value_=str_replace("\n","",$this->value_); $this->value_=str_replace("\r","",$this->value_);}function change($oldStr,$str)//'对收集到的内容中的个别字符串用新值更换/方法//'参数分别是旧字符串,新字符串{ $this->value_=str_replace($oldStr,$str,$this->value_ );}function cut($start,$end,$no='1',$comprise='')//'按指定首尾字符串对收集的内容进行裁减(不包括首尾字符串)方法// $no 必须是 1,2 3 ... 不允许是0//$comprise 可以选择 start 或者 end 或者 all 或者 什么都不填{ $string=explode($start,$this->value_); //print_r($string); $string=explode($end,$string[$no]); //print_r($string); switch ($comprise){ case 'start': $string=$start.$string[0]; break; case 'end': $string=$string[0].$end; break; case 'all': $string=$start.$string[0].$end; break; default: $string=$string[0]; } return $this->value_=$string; }function filt($head,$bot,$str,$no='1',$comprise='')//'按指定首尾字符串对收集的内容用新值进行替换(不包括首尾字符串)方法// '参数分别是首字符串,尾字符串,新值,新值位空则为过滤{ $tmp_v=$this->value_; $tmp=$this->cut($head,$bot,$no,$comprise); return $this->value_=str_replace[/font][/color][/font]($tmp,$str,$tmp_v);}function local(){ //'将收集的内容中的绝对URL地址改为本地相对地址 // 还没实现}function replaceByReg($patrn,$str)//'对收集的内容中的符合正则表达式的字符串用新值进行替换/方法//'参数是你自定义的正则表达式,新值{ return $this->value_=join("",preg_replace($patrn,$str,$this->value_));}function debug()//调试显示{ $tempstr="<SCRIPT>function runEx(){var winEx2 = window.open(\"\", \"winEx2\", \"width=500,height=300,status=yes,menubar=no,scrollbars=yes,resizable=yes\"); winEx2.document.open(\"text/html\", \"replace\"); winEx2.document.write(unescape(event.srcElement.parentElement.children[0].value)); winEx2.document.close(); }function saveFile(){var win=window.open('','','top=10000,left=10000');win.document.write(document.all.asdf.innerText);win.document.execCommand('SaveAs','','javascript.htm');win.close();}</SCRIPT><center><TEXTAREA id=asdf name=textfield rows=32 wrap=VIRTUAL cols=\"120\">".$this->value_."</TEXTAREA><BR><BR><INPUT name=Button onclick=runEx() type=button value=\"查看效果\"> <INPUT name=Button onclick=asdf.select() type=button value=\"全选\"> <INPUT name=Button onclick=\"asdf.value=''\" type=button value=\"清空\"> <INPUT onclick=saveFile(); type=button value=\"保存代码\"></center>"; echo $tempstr;}}?> 你可以下载本ugs.phps 然后重命名为ugs.php 请教ugs.phps文件在哪里?class ugs { var $value_ ; //'目标内容 var $src_ ; //'目标URL地址 是不是就是ugs.phps的代码,如果不是,能不能贴出代码? 我用以下代码取文章标题,为什么只能得到一个内容?<? include ("ugs.php"); // 你可以下载本ugs.phps 然后重命名为ugs.php $ugs = new ugs(); $url = "http://www.baidu.com/baidu?q1=%D7%DC%BD%E1&ft=all"; $ugs->seturl($url); $ugs->gather(); //............这里可以调用本类里的其它方法,对$ugs->value_ 做调整, 以满足您的要求 $start='<font size="3">';$end='</font></font>';for ($i=1; $i<=10; $i++){ $content=$ugs->cut($start,$end,$no=$i,$comprise='all'); print($content);}?> curl需要linux支持吧?file_get_contents,然后正则匹配也比较方便。 请教两个站点(php/asp)共享用户信息问题? php如何创建实体? (货单号)这种字段值怎么生成? 最流行的PHP IDE 比较 急啊,在线等!!mysql 如何实现增量备份 win2003+php5,速度奇慢无比,请教原因,加急!! win2k+ser-U。我想通过网页管理ser-U,不知道ser-U放用户信息的文件是什么? 关于验证方式的问题(特急) 用HTML代码或者其他脚本语言怎么打开本地的可执行文件? php.ini 配置详细选项 php函数优先级问题 初学Memcache,问个更新点击量的问题
include ("ugs.php"); // 你可以下载本ugs.phps 然后重命名为ugs.php
$ugs = new ugs();
$url = "http://domainname.com/path_to_your_target?param";
$ugs->seturl($url);
$ugs->gather();
//............这里可以调用本类里的其它方法,对$ugs->value_ 做调整,
以满足您的要求
$content=$ugs->getcontent();
print($content);
?>
*/
class ugs
{
var $value_ ; //'目标内容
var $src_ ; //'目标URL地址function seturl($url)
{
$this->src_=$url;
}
function getcontent()
{
return $this->value_;
}
function getfile($url)
// 获取目标
{
$url_parsed = parse_url($url);
$host = $url_parsed["host"];
$port = $url_parsed["port"];
if ($port==0) $port = 80;
$path = $url_parsed["path"];
if (empty($path))
$path="/";
if ($url_parsed["query"] != "")
$path .= "?".$url_parsed["query"
];
$out = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n"[font=新宋体];
$fp = fsockopen($host, $port, $errno, $errstr, 30);
fwrite($fp, $out);
$body = false;
while (!feof($fp))
{
$s = fgets($fp, 1024);
if ( $body ) $in .= $s;
if ( $s == "\r\n" )
$body = true;
}
fclose($fp);
return $in;
} function getfile_curl($url)
{
$curl="/usr/local/bin/curl " ; // path to your curl
$curl_options=" -s --connect-timeout 10 --max-time 10 ";
// curl 用法请参考 curl --help 或者 man curl
// curl 参数非常之丰富,可以模拟各种浏览器(agent) 可以设置referer
$cmd="$curl $curl_options $url ";
@exec($cmd,$o,$r);
if($r!=0)
{
return "超时";
}
else
{
[color=#000000] $o=join("",$o);
return $o;
}
}function gather_curl($curl)
{
$http=$this->getfile_curl($this->src_);
return $this->value_=$http;
}function gather_array($url)
{
return file($url);
}function gather()
// 开始收集
{
$http=$this->getfile($this->src_);
return $this->value_=$http;
}function gather_local($toline=true)
// 处理本地文件
{ if($toline)
{
$http=file($this->src_);
return $this->value_=$this->BytesToBstr($http);
}
else
{
$http=file($this->src_);
return
$this->value_=$http[font=新宋体];
}
}function noReturn()
// 删除回车换行
{
$this->value_=str_replace("\n","",$this->value_);
$this->value_=str_replace("\r","",$this->value_);
}
function change($oldStr,$str)
//'对收集到的内容中的个别字符串用新值更换/方法
//'参数分别是旧字符串,新字符串
{
$this->value_=str_replace($oldStr,$str,$this->value_ );
}function cut($start,$end,$no='1',$comprise='')
//'按指定首尾字符串对收集的内容进行裁减(不包括首尾字符串)方法
// $no 必须是 1,2 3 ... 不允许是0
//$comprise 可以选择 start 或者 end 或者 all 或者 什么都不填
{
$string=explode($start,$this->value_);
//print_r($string);
$string=explode($end,$string[$no]);
//print_r($string);
switch ($comprise
){
case 'start':
$string=$start.$string[0];
break;
case 'end':
$string=$string[0].$end;
break;
case 'all':
$string=$start.$string[0].$end;
break;
default:
$string=$string[0];
}
return $this->value_=$string;
}
function filt($head,$bot,$str,$no='1',$comprise='')
//'按指定首尾字符串对收集的内容用新值进行替换(不包括首尾字符串)方法
// '参数分别是首字符串,尾字符串,新值,新值位空则为过滤
{
$tmp_v=$this->value_;
$tmp=$this->cut($head,$bot,$no,$comprise);
return $this->value_=str_replace[/font][/color][/font]
($tmp,$str,$tmp_v);
}function local()
{
//'将收集的内容中的绝对URL地址改为本地相对地址
// 还没实现
}function replaceByReg($patrn,$str)
//'对收集的内容中的符合正则表达式的字符串用新值进行替换/方法
//'参数是你自定义的正则表达式,新值
{
return $this->value_=join("",preg_replace($patrn,$str,$this->value_));
}function debug()
//调试显示
{
$tempstr="<SCRIPT>function runEx(){var winEx2 = window.open(\"\", \"winEx2\", \"width=500,height=300,status=yes,menubar=no,scrollbars=yes,resizable=yes\"); winEx2.document.open(\"text/html\", \"replace\"); winEx2.document.write(unescape(event.srcElement.parentElement.children[0].value)); winEx2.document.close(); }function saveFile(){var win=window.open('','','top=10000,left=10000');win.document.write(document.all.asdf.innerText);win.document.execCommand('SaveAs','','javascript.htm');win.close();}</SCRIPT><center><TEXTAREA id=asdf name=textfield rows=32 wrap=VIRTUAL cols=\"120\">".$this->value_."</TEXTAREA><BR><BR><INPUT name=Button onclick=runEx() type=button value=\"查看效果\"> <INPUT name=Button onclick=asdf.select() type=button value=\"全选\"> <INPUT name=Button onclick=\"asdf.value=''\" type=button value=\"清空\"> <INPUT onclick=saveFile(); type=button value=\"保存代码\"></center>";
echo $tempstr;
}
}
?>
class ugs
{
var $value_ ; //'目标内容
var $src_ ; //'目标URL地址
是不是就是ugs.phps的代码,如果不是,能不能贴出代码?
include ("ugs.php"); // 你可以下载本ugs.phps 然后重命名为ugs.php
$ugs = new ugs();
$url = "http://www.baidu.com/baidu?q1=%D7%DC%BD%E1&ft=all";
$ugs->seturl($url);
$ugs->gather();
//............这里可以调用本类里的其它方法,对$ugs->value_ 做调整, 以满足您的要求
$start='<font size="3">';
$end='</font></font>';
for ($i=1; $i<=10; $i++)
{
$content=$ugs->cut($start,$end,$no=$i,$comprise='all');
print($content);
}
?>
file_get_contents,然后正则匹配也比较方便。