PHP实现采集抓取淘宝网单个商品信息,抓取商品信息

原创
2016-06-13 09:17:21956浏览

PHP实现采集抓取淘宝网单个商品信息,抓取商品信息


调用淘宝的数据可以使用淘宝提供的api,如果只需调用淘宝商品图片名称等公开信息在自己网站上,使用php中的 file_get_contents 函数实现即可。

思路:

file_get_contents(url) 该函数根据 url 如 http://www.baidu.com 将该网页内容(源码)以字符串形式输出(一个整字符串),然后配合preg_match,preg_replace等这些正则表达式操作就可以实现获取该url特定div,img等信息了。当然前题是淘宝在单个商品页面的结构是固定的,如500图的img中id就是J_ImgBooth!

具体实现方法:(获取500图,名称,价格,属性及商品描述)

复制代码 代码如下:


$text=file_get_contents("http://item.taobao.com/item.htm?id=2380347279"); //将url地址上页面内容保存进$text

A.获取500图:

复制代码 代码如下:


preg_match('/]*id="J_ImgBooth"[^r]*rc=\"([^"]*)\"[^>]*>/', $text, $img);
//运用正则抓取img标签中id为J_ImgBooth的img,$img[0]为该500图img标签,$img[1]为500图的图片地址;

B. 获取名称:

复制代码 代码如下:


preg_match('/([^<>]*)<\/title>/', $text, $title); <br /> //因为正文中的商品名称标签没有特殊class或id正则不好抓取,就抓<title>标签中的内容了,一般来说title中内容就是商品名称了(实际有些出入),$title[0]整个title标签 $title[1]标签中内容;<br /> $title=iconv('GBK','UTF-8',$title);<br /> //如果你的网站是utf8编码,那么需要进行一下转码(淘宝是gbk编码)<br /> </p></p> <p><strong>C.获取价格:</strong></p> <p><p class="codetitle"><span><U>复制代码</U></span> 代码如下:</p><p class="code" id="code3162"><br /> preg_match('/<([a-z]+)[^i]*id=\"J_StrPrice\"[^>]*>([^<]*)<\/\\1>/is', $text, $price);<br /> //同理获取id为J_StrPrice的标签内容$price[2], $price[0]是整个标签, $price[1]为strong标签名;<br /> $price=floatval($price);//放入数据库估计还有转一下变量类型<br /> </p></p> <p><strong>D.获取属性:</strong></p> <p>这之前获取的内容都是在单标签中相对只需一个正则就可搞定,然而如果要获取如</p> <p><p class="codetitle"><span><U>复制代码</U></span> 代码如下:</p><p class="code" id="code84600"><br /> …<br /> <br /> <div id=”xxx”><br /> <br /> …<br /> <br /> <ul><br /> <br /> …<br /> <br /> </ul><br /> <br /> <div>…<br /> <br /> <div>…<br /> <br /> </div><br /> <br /> </div><br /> <br /> </div><br /> <br /> …<br /> </p></p> <p>这样特定div中有未知n个<>标签,获取该特定div将会非常的困难,搜了下网上,最接近的也只是”/<([a-z]+)[^>]*>([^<>]|(?R))*<\/\\1>/”这样使用递归抓取标签对,但是他不能抓特定标签,所以想要轻松抓取class=”attributes”的div我是没法办到了。但是淘宝网页有其特殊性,就是它的各个标签结构基本是固定的…<div>…</div>标签后面不是</div><div id=”description”>就是</div><div>,所以我们可以采用变通法达到获取属性标签内容的目的。</p> <p><p class="codetitle"><span><U>复制代码</U></span> 代码如下:</p><p class="code" id="code66846"><br /> preg_match('/<(div)[^c]*class=\"attributes\"[^>]*>.*<\/\\1>/is', $text, $text0);<br /> //这个正则会抓取<div开始到整个页面最后一个</div>标签,当然我们属性标签就在这个的前面部分。<br /> <br /> $text1=preg_replace("/<\/div>[^<]*<(div)[^c]*id=\"description\"[^>]*>.*<\/\\1>/is","",$text0);<br /> //匹配到</div ><div id=”description”>至最后</div>然后用””代替(就是把匹配的删除了),所以如果attributes的div后面紧跟的是description那么我们已经达到目的了。<br /> <br /> $attributes=preg_replace("/<\/div>[^<]*<(div)[^c]*class=\"box J_TBox\"[^>]*>.*<\/\\1>/is","",$text1);<br /> //如果attributes后面紧跟box J_Tbox标签,那么我们还需要使用以上这步来剔除box J_Tbox标签,当然如果attributes的div后面紧跟的是description,这一步将不会匹配到任何即什么都不会做。<br /> </p></p> <p><strong>E.获取描述:</strong></p> <p>通过上面方法你肯定觉得淘宝页面上任何标签都可以很简单获取了吧(我之前也是这么想的),但是使用这个方法获取描述时得到的内容将会是“描述加载中”,是的,这个描述内容不是在源码中的,它是打开页面加载进一大堆js后,不知道从淘宝的哪个角落中加载进来的。</p> <p>好吧,那么我们也可以模仿它放一些js进去。不知道哪些对加载描述有用?没事,全加载进来肯定没错。不知道需要放那些特定div上去有作用?抓一个源码,删掉一些div一步步试试看,你会发现“<div id=”detail”> </div></p> <p><p class="codetitle"><span><U>复制代码</U></span> 代码如下:</p><p class="code" id="code93549"><br /> <div id="description"><br /> <br /> <div id="J_DivItemDesc">描述加载中</div><br /> <br /> </div><br /> </p></p> <p>这几个div是加载描述所必须的,那么下面就是写代码了:</p> <p><p class="codetitle"><span><U>复制代码</U></span> 代码如下:</p><p class="code" id="code13439"><br /> preg_match_all('/<script[^>]*>[^<]*<\/script>/is', $text, $content);//页面js脚本<br /> $content=$content[0];<br /> $description='<div id="detail"> </div><br /> <div id="description"><br /> <div id="J_DivItemDesc">描述加载中</div><br /> </div>';<br /> foreach ($content as &$v){$description.=iconv('GBK','UTF-8',$v);};<br /> //将这个$description放进页面,描述就会自动的加载进来了,当然多个商品描述在同一个页面也会只有一个描述会被加载的。<br /> </p></p> </p> </div><div class="nphpQianMsg"><a href="//m.sbmmt.com/m/search?word=php">PHP</a> <a href="//m.sbmmt.com/m/search?word=采集">采集</a> <a href="//m.sbmmt.com/m/search?word=抓取">抓取</a> <a href="//m.sbmmt.com/m/search?word=淘宝网">淘宝网</a> <a href="//m.sbmmt.com/m/search?word=商品">商品</a> <a href="//m.sbmmt.com/m/search?word=宝贝描述">宝贝描述</a><a href="//m.sbmmt.com/m/course/list/29/type/2.html">PHP课程</a><a href="//m.sbmmt.com/m/course/list/11.html">HTML视频教程</a><a href="//m.sbmmt.com/m/course/list/12.html">CSS视频</a><a href="//m.sbmmt.com/m/course/list/17.html">JS视频教程</a><a href="//m.sbmmt.com/m/course/list/18.html">Vue视频教程</a><div class="clear"></div></div><div class="nphpQianSheng"><span>声明:</span>本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。</div><!-- <div class="nphpFen"><span><a href="javascript:;"><b></b>分享</a></span><em class="icon1"><b></b>收藏</em><i class="icon1"><b></b>点赞</i><div class="clear"></div></div> --></div><script type="text/javascript" src="//m.sbmmt.com/sw/hezuo/16e561434ad42f17963b25d80a9fabeb.html" ></script><div class="nphpSytBox"><span>上一条:<a class="dBlack" href="//m.sbmmt.com/m/faq/167528.html">给ECShop添加最新评论,ECShop添加最新评论</a></span><span>下一条:<a class="dBlack" href="//m.sbmmt.com/m/faq/167530.html">CI框架中site_url()和base_url()的区别,site_urlbase_url</a></span></div><!-- <div class="wwads-cn wwads-horizontal" data-id="164" style="max-width:640px"></div> --><div class="_f3u1sc934us"></div><script type="text/javascript"> (window.slotbydup = window.slotbydup || []).push({ id: "u6878819", container: "_f3u1sc934us", async: true }); </script><!-- 多条广告如下脚本只需引入一次 --><script type="text/javascript" src="//m.sbmmt.com/m//m.sbmmt.com/cpro/ui/cm.js" async="async" defer="defer" ></script><div class="nphpSytBox1"><div class="nphpShou"><a href="//m.sbmmt.com/m/k.html" class="aRed"><b class="icon2"></b><em>【24期】《PHP小白到大牛》线上班,开始报名了!</em><span></span></a><div class="clear"></div></div><ul class="nphpBian"><li><a href="//m.sbmmt.com/m/blog/detail/1046940.html"><span class="bg1"></span><dl><dt>编程学习群</dt><dd>技术答疑交流</dd></dl><div class="clear"></div></a></li><li><a href="javascript:window.location.href = 'https://mp.weixin.qq.com/s?__biz=Mzk0MTE2MDU0Ng==&mid=2247487529&idx=1&sn=f4f9feda0951312daebe69478f219e7a&chksm=c2d7f124f5a0783233d879a6de3c59165dc2520e15813860b5bace817a6e08e530d454abd3c6#rd';"><span class="bg2"></span><dl><dt>关注公众号</dt><dd>获取学习资源</dd></dl><div class="clear"></div></a></li><div class="clear"></div></ul></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>相关文章</h2><em><a href="//m.sbmmt.com/m/article.html" class="bBlack"><i>查看更多</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><!-- <li><b></b><a href="//m.sbmmt.com/jump/go.php?url=https%3A%2F%2Fm.sbmmt.com%2Fvip_mobile.html" class="aBlack" style="color: red;" rel="nofollow">❤️‍🔥共22门课程,总价3725元,会员免费学</a><div class="clear"></div></li> --><!-- <li><b></b><a href="//m.sbmmt.com/jump/go.php?url=https%3A%2F%2Fm.php.cn%2Farticle%2F496353.html" class="aBlack" style="color: red;" rel="nofollow">❤️‍🔥接口自动化测试不想写代码?</a><div class="clear"></div></li> --><li><b></b><a href="//m.sbmmt.com/m/faq/210459.html" class="aBlack">让你的网站首页自动选择语言转跳</a><div class="clear"></div></li><li><b></b><a href="//m.sbmmt.com/m/faq/241186.html" class="aBlack">一个简单的PHP入门源程序如留言板(中文)--新手入门</a><div class="clear"></div></li><li><b></b><a href="//m.sbmmt.com/m/faq/95119.html" class="aBlack">301跳转(.net版)</a><div class="clear"></div></li><li><b></b><a href="//m.sbmmt.com/m/faq/165698.html" class="aBlack">浅析iis7.5安装配置php环境,浅析iis7.5安装配置</a><div class="clear"></div></li><li><b></b><a href="//m.sbmmt.com/m/faq/169301.html" class="aBlack">基于PHP的简单采集数据入库程序,php采集入库</a><div class="clear"></div></li></ul></div><script type="text/javascript" src="//m.sbmmt.com/sw/hezuo/cf85c41f1b0ce5f8359e5229784c31e4.html" ></script><div class="nphpSytBox2"><div class="nphpTjkcTitle"><ul class="nphpTjkcMenu menu1"><li class="current">热门课程</li><div class="clear"></div></ul><div class="clear"></div></div><div class="nphpRmkcBox" style="padding-top:0px;"><ul class="nphpRmkcList"><li><a href="//m.sbmmt.com/m/course/1413.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/626a7835292d3241.jpg" alt="千万级数据并发解决方案(理论+实战)" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/626a7835292d3241.jpg" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a><dl><dt><a href="//m.sbmmt.com/m/course/1413.html" title="千万级数据并发解决方案(理论+实战)" class="aBlack">千万级数据并发解决方案(理论+实战)</a></dt><dd><span><em><h2>¥289</h2><i>¥299</i><div class="clear"></div></em><p>已抢111028个</p></span><b><a href="//m.sbmmt.com/m/course/1413.html">抢</a></b><div class="clear"></div></dd></dl><div class="clear"></div></li><li><a href="//m.sbmmt.com/m/course/1467.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/63368f77cf7bb697.png" alt="自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/63368f77cf7bb697.png" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a><dl><dt><a href="//m.sbmmt.com/m/course/1467.html" title="自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)" class="aBlack">自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)</a></dt><dd><span><em><h2>¥59</h2><i>¥199</i><div class="clear"></div></em><p>已抢46938个</p></span><b><a href="//m.sbmmt.com/m/course/1467.html">抢</a></b><div class="clear"></div></dd></dl><div class="clear"></div></li><li><a href="//m.sbmmt.com/m/course/1289.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/015/61500a97859e7795.jpg" alt="通用后台管理系统实战开发(Thinkphp6+Layui)" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/015/61500a97859e7795.jpg" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a><dl><dt><a href="//m.sbmmt.com/m/course/1289.html" title="通用后台管理系统实战开发(Thinkphp6+Layui)" class="aBlack">通用后台管理系统实战开发(Thinkphp6+Layui)</a></dt><dd><span><em><h2>¥89</h2><i>¥99</i><div class="clear"></div></em><p>已抢133707个</p></span><b><a href="//m.sbmmt.com/m/course/1289.html">抢</a></b><div class="clear"></div></dd></dl><div class="clear"></div></li><li><a href="//m.sbmmt.com/m/course/184.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/6253ed7d8aa4e723.png" alt="php开发验证码最新视频教程" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/6253ed7d8aa4e723.png" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a><dl><dt><a href="//m.sbmmt.com/m/course/184.html" title="php开发验证码最新视频教程" class="aBlack">php开发验证码最新视频教程</a></dt><dd><span><em><h2>¥79</h2><i>¥99</i><div class="clear"></div></em><p>已抢32363个</p></span><b><a href="//m.sbmmt.com/m/course/184.html">抢</a></b><div class="clear"></div></dd></dl><div class="clear"></div></li><li><a href="//m.sbmmt.com/m/course/1099.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/6250d27b3c089226.jpg" alt="PHP爬虫采集课程" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/6250d27b3c089226.jpg" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a><dl><dt><a href="//m.sbmmt.com/m/course/1099.html" title="PHP爬虫采集课程" class="aBlack">PHP爬虫采集课程</a></dt><dd><span><em><h2>¥89</h2><i>¥169</i><div class="clear"></div></em><p>已抢14118个</p></span><b><a href="//m.sbmmt.com/m/course/1099.html">抢</a></b><div class="clear"></div></dd></dl><div class="clear"></div></li><li><a href="//m.sbmmt.com/m/course/1169.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/625e63bab1494540.jpg" alt="微信小程序基础API篇" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/625e63bab1494540.jpg" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a><dl><dt><a href="//m.sbmmt.com/m/course/1169.html" title="微信小程序基础API篇" class="aBlack">微信小程序基础API篇</a></dt><dd><span><em><h2>¥99</h2><i>¥199</i><div class="clear"></div></em><p>已抢19535个</p></span><b><a href="//m.sbmmt.com/m/course/1169.html">抢</a></b><div class="clear"></div></dd></dl><div class="clear"></div></li></ul><div class="_5mg09ymb2w7"></div><script type="text/javascript"> (window.slotbydup = window.slotbydup || []).push({ id: "u6911319", container: "_5mg09ymb2w7", async: true }); </script></div><div class="nphpShou2"><a href="//m.sbmmt.com/m/app/" class="aRed"><b></b><em>打开APP,随时随地在线学习!</em><span></span></a><div class="clear"></div></div></div></div><!--主体 end--><!--底部菜单--><div class="nphpFoot" id="nphpFoot" style="display:none;"><div class="nphpApp"><div class="nphpAppIn"><span onclick="$('.nphpApp').hide()"></span><dl><dt><a href="//m.sbmmt.com/m/mk.html?article_bottom" title="PHP实战集训营" class="aBlack">PHP实战集训营</a></dt><dd>零基础 · 英语差 ·学历低 · 都能学</dd></dl><i><a style="width: 86px;" href="//m.sbmmt.com/m/mk.html?index" title="立即报名">立即报名</a></i><div class="clear"></div></div></div></div><!--底部菜单--><!--右侧菜单--><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="//m.sbmmt.com/m/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="//m.sbmmt.com/m/"><b class="icon1"></b><span>首页</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/course.html"><b class="icon2"></b><span>课程</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/article.html"><b class="icon3"></b><span>文章</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/wenda.html"><b class="icon4"></b><span>问答</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/blog.html"><b class="icon5"></b><span>博客</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/dic.html"><b class="icon6"></b><span>词典</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/course/type/99.html"><b class="icon7"></b><span>手册</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/xiazai/"><b class="icon8"></b><span>资源</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/search"><b class="icon9"></b><span>搜索</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/app/"><b class="icon10"></b><span>APP下载</span><div class="clear"></div></a></li><li><a href="//m.sbmmt.com/m/mk.html"><b class="icon11"></b><span>PHP培训</span><em>新</em><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><!--右侧菜单 end--><!--顶部导航--><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="//m.sbmmt.com/m/faq/#"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="//m.sbmmt.com/m/" >首页</a></div><div class="swiper-slide"><a href="//m.sbmmt.com/m/course.html" >课程</a></div><div class="swiper-slide"><a href="//m.sbmmt.com/m/map.html">路径</a></div><div class="swiper-slide"><a href="//m.sbmmt.com/m/article.html" class="hover">文章</a></div><div class="swiper-slide"><a href="//m.sbmmt.com/m/mk.html" title="PHP培训">PHP培训</a><b></b></div><div class="swiper-slide"><a href="//m.sbmmt.com/m/coding.html">精品课</a></div><div class="swiper-slide"><a href="//m.sbmmt.com/m/xiazai" >下载</a></div><div class="clear"></div></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto' }); </script></div></div><!--顶部导航 end--></div><script>var href = window.location.href; var title = document.title; var num = Math.floor(Math.random() * 10000 + 1); var newscript = document.createElement('script'); newscript.setAttribute('type','text/javascript'); newscript.setAttribute('src',"https://count.php.cn/index.php/api/statistics/phpcn?url="+encodeURIComponent(href)+"&title="+encodeURIComponent(title)+"&"+num); var head = document.getElementsByTagName('head')[0]; head.appendChild(newscript); (function () { var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') {bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';} else {bp.src = 'http://push.zhanzhang.baidu.com/push.js';} var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://m.sbmmt.com/hm.js?c0e685c8743351838d2a7db1c49abd56"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script><script>isLogin = 0;</script><script type="text/javascript" src="//m.sbmmt.com/m/static/layui/layui.js"></script><script type="text/javascript" src="//m.sbmmt.com/m/static/js/global.js?4.9.47"></script><script> var returnCitySN = ''; </script><script type="text/javascript" charset="UTF-8" src="//m.sbmmt.com/ip/city.php?sign=e272c7cebbb7b998f3ebc052b0288a9f"></script><script> var cname = returnCitySN.cname; var cname = cname.split("|"); function setCookie(name,value,iDay){ //name相当于键,value相当于值,iDay为要设置的过期时间(天) var oDate = new Date(); oDate.setDate(oDate.getDate() + iDay); document.cookie = name + '=' + value + ';path=/;domain=.php.cn;expires=' + oDate; } //读cookies function getCookiea(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)) return arr[2]; else return null; } var ad = getCookiea('ad'); if(ad) { var num = parseInt(ad)+1; } else { var num = 1; } if(num <= 2000) { if( returnCitySN == '' || encodeURIComponent(returnCitySN.cname).indexOf('%E5%8C%97%E4%BA%AC') != -1 ) { $('#nphpFoot').remove(); } else { $('#nphpFoot').show(); $(document).ready(function(){ $('.nphpQianCont').before('<div class="nphpShou"><a href="https://work.weixin.qq.com/kfid/kfc8cc2d6defcf3c202" targe="_blank" style="width:100%;" rel="nofollow" class="aRed"><b class="icon2"></b><em style=" font-style:normal">【'+cname[2]+'】PHP编程学习,咨询领取优惠!</em><span></span></a></div>') }) } setCookie('ad',num,1) } </script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='//m.sbmmt.com/m/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='//m.sbmmt.com/m/static/js/viewer.min.js?1'></script><script type='text/javascript' src='//m.sbmmt.com/m/static/js/jquery-viewer.min.js'></script><script> jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); $(function() { $(".nphpFen em").click(function(){ if($(this).hasClass("icon1")){ $(this).removeClass("icon1").addClass("icon2").html("<b></b>已收藏") }else{ $(this).removeClass("icon2").addClass("icon1").html("<b></b>收藏") } }) $(".nphpFen i").click(function(){ if($(this).hasClass("icon1")){ $(this).removeClass("icon1").addClass("icon2").html("<b></b>已点赞") }else{ $(this).removeClass("icon2").addClass("icon1").html("<b></b>点赞") } }) }) </script></body></html>