ajax抓取网站接口图片瀑布流笔记

用php结合ajax来实现去其它网站抓取图片,在自己本地用!

ajax代码部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图片瀑布流</title>
</head>
<style>
    body{
        margin:0;
    }
   #ul1{
   width:1080px;
   margin:100px auto 0;
  }
    li{
       width:247px;
       list-style:none;
       float:left;
       margin-right:10px;

    }
    li div{
        border:1px solid #000;
        padding:10px;
        margin-bottom:10px;

    }
    li img{
        width:225px;
        display:block;
    }
</style>
<script type="text/javascript" src="./jquery-1.8.3.min.js"></script><script type="text/javascript">
    window.onload =function(){
        var oUl =document.getElementById(‘ul1‘);
        var aLi =document.getElementsByTagName(‘li‘);
        //alert (aLi);
        var iLen =aLi.length;
        //初始化数据
       var cpage=1;
       $.get(‘./demo1.php‘,{cpage:cpage},function (data){
          //alert (data);
           var data = JSON.parse(data);
          // alert (data);
           for (var i =0; i<data.length; i++){
               //获取高度最短的li
               var _index = getShort();
               //alert (_index);
               //创建div
               var oDiv = document.createElement(‘div‘);
               var oImg = document.createElement(‘img‘);
               oImg.src =data[i].preview;
               oImg.style.width = ‘225px‘;
               oImg.style.height = data[i].height * (255 /data[i].width)+ ‘px‘;
               oDiv.appendChild(oImg);
               var oP = document.createElement(‘p‘);
               oP.innerHTML =data[i].title;
               oDiv.appendChild(oP);
              //把img和p 还有div 放到li
               aLi[_index].appendChild(oDiv);
           }
       });
        //找最短的li 封装函数
        function getShort(){
            var index = 0;
            var ih =aLi[index].offsetHeight;
            //alert (ih);
            //从第一个开始比较
            for(var i=1;i<iLen;i++){
               if(aLi[i].offsetHeight < ih){
                  index = i;
                  ih = aLi[i].offsetHeight;
               }
            }
            return index;
        }
    }

</script>
<body>
  <ul id="ul1">
      <li></li>
      <li></li>
      <li></li>
      <li></li>
  </ul>
</body>
</html>

php部分

<?php
/**
 * Created by PhpStorm.
 * User: a-4
 * Date: 2017/8/14
 * Time: 17:07
 */
//抓取数据
$cpage =isset($_GET[‘cpage‘])?$_GET[‘cpage‘]:1;
$url =‘http://www.wookmark.com/api/json/popular?page=‘.$cpage;
$content =file_get_contents($url);
$content =iconv(‘gbk‘,‘utf-8‘,$content);
echo $content;
时间: 2024-10-20 19:00:06

ajax抓取网站接口图片瀑布流笔记的相关文章

代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)

代码: 两列图片瀑布流(一次后台取数据,无ajax,图片懒加载.下拉后分批显示图片.图片高度未知,当图片onload后才显示容器) [思路]: 图片瀑布流,网上代码有多种实现方式,也有各类插件.没找到合意的,所以根据网上找的一段代码,进行了较大改动. 需引用 zepto 或 jquery. 我这个是应用于手机上的,两列瀑布流,图片高度未知——等图片的onloaded事件触发后,才对容器进行计算和定位. 大容器是 $("#imgList"),容器格子是$(".pin"

Java语言实现通过Ajax抓取后台数据及图片

1.Java语言实现通过Ajax抓取后台数据及图片信息 1.1数据库设计 create table picture( pic_id number not null, pic_name varchar(200)not null, pic_url varchar2(200) not null, pic_descp varchar2(200) not null, pic_price varchar2(200) not null ) insert into picture values(1 ,'小米5s

使用wget工具抓取网页和图片 成功尝试

使用wget工具抓取网页和图片 发表于1年前(2014-12-17 11:29)   阅读(2471) | 评论(14) 85人收藏此文章, 我要收藏 赞7 wget 网页抓取 图片抓取 目录[-] 奇怪的需求 wget概述 wget尝试 wget正解 奇怪的需求 公司需要将服务器的网页缓存到路由器,用户在访问该网页时就直接取路由器上的缓存即可.虽然我不知道这个需求有什么意义,但还是尽力去实现吧. wget概述 wget是unix和类unix下的一个网页抓取工具,待我熟悉它后,发现它的功能远不止

使用wget工具抓取网页和图片

使用wget工具抓取网页和图片: 包括css\js\html\图片文件 wget -e robots=off -w 1 -xq -np -nH -pk -m -t 1 -P "$PATH" "$URL" 这里robots=off是因为wget默认会根据网站的robots.txt进行操作,如果robots.txt里是User-agent: * Disallow: /的话,wget是做不了镜像或者下载目录的 -e 用来执行额外的.wgetrc命令,会在.wgetrc中所

利用LruCache加载网络图片实现图片瀑布流效果(改进版)

MainActivity如下: package cc.patience4; import cc.patience4.R; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 采用瀑布流的形式加载大量网络图片 * 详细分析参见WaterfallScrollView * * 更新说明: * 该示例在基础版的基础上加入了图片查看功能. * 点击瀑布流中一张图片后可欣赏图片并能对图片进行单指拖动和两指缩放. * 对

利用LruCache加载网络图片实现图片瀑布流效果(基础版)

MainActivity如下: package cc.patience3; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 采用瀑布流的形式加载大量网络图片 * 详细分析参见WaterfallScrollView * * 参考资料: * 1 http://blog.csdn.net/guolin_blog/article/details/10470797 * 2 http://blog.csdn.net

用Ajax爬取今日头条图片

Ajax原理 ? 在用requests抓取页面时,得到的结果可能和浏览器中看到的不一样:在浏览器中可以正常显示的页面数据,但用requests得到的结果并没有.这是因为requests获取的都是原始 HTML文档,而浏览器中页面 则是经过Ajax处理数据后生成的.这些数据可能在HTML文档中,也可能是经过JavaScript和特定算法后生成的. ? 刚开始HTML文档中不包含某些数据,当原始页面加载完后,会向服务器发送Ajax请求获取数据,这些数据被JavaScript处理形成一些新页面. ?

剑走偏锋,robots.txt快速抓取网站的小窍门

在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的robots.txt文件,有时会给你打开另一扇抓取之门. 写爬虫有很多苦恼的事情,比如: 1.访问频次太高被限制: 2.如何大量发现该网站的URL: 3.如何抓取一个网站新产生的URL,等等: 这些问题都困扰着爬虫选手,如果有大量离散IP和账号,这些都不是问题,但是绝大部分公司都不具备这个条件的. 我们在工作中写的爬虫大多是一次性和临时性的任务,需要你快速完成工作就好,当遇到上面情况,试着看下robots.txt文件. 举个栗子:

PHP curl模拟浏览器抓取网站信息

curl是一个利用URL语法在命令行方式下工作的文件传输工具. 官方解释 curl是一个利用URL语法在命令行方式下工作的文件传输工具.curl是一个利用URL语法在命令行方式下工作的文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP.curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证, HTTP上传, 代理服务器, cookies,