PHP生成网页快照 不用COM不用扩展.

代码


代码如下:

<?php
$url = 'www.baidu.com'; //抓取百度
echo snapshot($url); //输出结果为图片地址
echo snapshot($url, './baidu.png'); //将图片保存至本地baidu.png, 输出内容图片大小
/**
* 生成网页快照
*
* @param string $site 目标地址
* @param string $path 保存地址, 为空则不保存
* @param integer $dealy 延迟
* @return mixed 根据参数返回
*/
function snapshot($site, $path = '', $dealy = 0)
{
$url = 'http://ppt.cc/yo2/catch.php';
$query = 'url=' . $site . '&delay=' . $dealy . '&rnd=' . mt_rand(1, 9);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
if (strlen($data) != 32) {
exit('无效网址');
}
$file = $data{0} . '/' . $data{1} . '/' . $data{2} . '/';
$file = 'http://cache.ppt.cc/' . $file . 'src_' . $data . '.png';
if (!empty($path)) {
$data = file_get_contents($file);
return file_put_contents($path, $data);
}
return $file;
}
?>

(0)

相关推荐

  • php使用百度天气接口示例

    注意地区要转码的百度ak申请地址:http://lbsyun.baidu.com/apiconsole/key 复制代码 代码如下: <?php $city="嘉兴";$content = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=%E5%98%89%E5%85%B4&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ&

  • PHP制作百度词典查词采集器

    百度dict 采集样本 写的采集百度dict词典翻译后的所有结果数据,当然附带了13.5w单词库和采集简单的案例,这里我把写出的主要类dict.class.php放出来,项目地址http://github.com/widuu/baidu_dict,有需要的直接fork就可以了~么么哒,这东西用的人很少,所以有用的兄弟拿走了哈~ <?php /** * dict.class.php 采集百度词典翻译内容 * * @copyright (C) 2014 widuu * @license http:/

  • php实现批量下载百度云盘文件例子分享

    百度开放云PhpSDK下载地址:http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/web%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5/SDK 实例代码: 复制代码 代码如下: <?php/** * Author: hankcs * Date  : 14-3-29 * Time  : 下午10:29 */ini_se

  • php获取百度收录、百度热词及百度快照的方法

    本文实例讲述了php获取百度收录.百度热词及百度快照的方法.分享给大家供大家参考.具体如下: 获取百度收录: <?php /* 抓取百度收录代码 */ function baidu($s){ $baidu="http://www.baidu.com/s?wd=site%3A".$s; $site=file_get_contents($baidu); //$site=iconv("gb2312", "UTF-8", $site); ereg(

  • PHP抓屏函数实现屏幕快照代码分享

    复制代码 代码如下: <?php* 屏幕快照$im = imagegrabscreen();imagepng($im, "myscreenshot.png"); * 抓取一个窗口(IE为例) $browser = new COM("InternetExplorer.Application");$handle = $browser->HWND;$browser->Visible = true;$im = imagegrabwindow($handle

  • ThinkPHP调用百度翻译类实现在线翻译

    要实现ThinkPHP在线翻译功能,需要先在百度开发者中心注册一个API key,具体实现代码如下: action代码部分: <?php class FanyiAction extends Action { public function _empty(){ header("HTTP/1.0 404 Not Found"); $this->display("Public:404"); } public function index() { $User =

  • php实现检查文章是否被百度收录

    网站都有个后台,后台发表新闻与产品,发完后如果你要去查看该页面有没有被百度收录,还要通过第三方工具或直接去百度搜.最近在做SEO,每天都要查看前一天发的文章有没有被收录,就这个工作就是一个很繁琐的工作.所以我在网上找了一段代码,通过地址就可以知道有没有被百度收录,很是方便. 以下为PHP代码 复制代码 代码如下: function checkBaidu($url) {     $url = 'http://www.baidu.com/s?wd=' . $url;     $curl = curl

  • php使用百度ping服务代码实例

    代码实例: <?php function postUrl($url, $postvar) { $ch = curl_init(); $headers = array( "POST".$url."HTTP/1.0", "Content-type: text/xml; charset=\"gb2312\"", "Accept: text/xml", "Content-length: "

  • php使用curl检测网页是否被百度收录的示例分享

    复制代码 代码如下: <?php/** 检测百度是否收录网页 curl模式* @ param string $url传入的url* return int (1 收录 0 不收录)*/function checkBaidu($url){$url='http://www.baidu.com/s?wd='.$url; $curl=curl_init();curl_setopt($curl,CURLOPT_URL,$url);curl_setopt($curl,CURLOPT_RETURNTRANSFE

  • php获取网站百度快照日期的方法

    本文实例讲述了php获取网站百度快照日期的方法.分享给大家供大家参考.具体如下: <html> <head> <title>在线演示_php获取某网站的快照时间</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="keywords" content=&qu

随机推荐