Py学习  »  chatgpt

用ChatGPT写一个数据采集程序

凹凸数据 • 10 月前 • 395 次点击  

ChatGPT是一种人工智能模型,可以让我们与计算机进行对话,就像与一个智能伙伴聊天一样。它通过学习大量的对话数据和语言知识,能够理解我们的问题,并生成有意义的回答。


ChatGPT可以理解并生成代码,那么自然而然,它的作用不仅仅是帮助学习代码,同样也可以直接用在实际的软件开发当中。


对于网页上的数据采集及处理是Python的常见应用场景之一。我们来看下ChatGPT是不是也能完成这样的任务。

假设我们现在需要抓取并整理某个网页上的表格数据:

https://python666.cn/static/score.html

我们直接来问问ChatGPT,能不能给个抓取的代码:

ChatGPT给了我们一份代码,但很遗憾,把这个代码复制到编辑器中运行后,生成的Excel是空的。

简单调试后发现,原来是因为页面上的表头元素用的是

标签

而ChatGPT因为没有获知具体的页面代码信息,直接当做

标签来处理,所以没采集到表头信息。

这种情况下,我们可以手动对代码做一些修改。

或者,我们点击回答下方的“Regenerate response”,让它重新回答一次试试:

这次ChatGPT给出的代码比之前简洁:

import pandas as pd
# 读取网页上的表格url = 'https://python666.cn/static/score.html'tables = pd.read_html(url)
# 假设目标表格是第一个表格table = tables[0]
# 将表格保存为Excel文件output_file = 'table.xlsx'table.to_excel(output_file, index=False)
print(f"表格已保存为 {output_file}")

运行后,成功得到了我们要的结果:

顺利拿到数据后,我们再进一步,让ChatGPT来对数据进行排序。当然,在排序前,我们需要告诉它关于表格内容的必要信息:

代码:

import pandas as pd
# 读取网页上的表格url = 'https://python666.cn/static/score.html'tables = pd.read_html(url)
# 假设目标表格是第一个表格table = tables[0]
# 将缺失值替换为0table.fillna(0, inplace=True)
# 计算每个学生的均分table['均分'] = table.mean(axis=1)
# 按均分降序排序table.sort_values(by='均分', ascending=False, inplace=True)
# 将表格保存为Excel文件output_file = 'sorted_table.xlsx'table.to_excel(output_file, index=False)
print(f"按均分排序后的表格已保存为 {output_file}")

这次,ChatGPT完美实现了我们提出的需求:

可以看出,虽然ChatGPT很强大,但并不能保证每次生成的代码都是完美,仍然可能需要引导它修正或人工干预。

但即便如此,它也已经算得上一个十分得力的编程助手,可以大大提高开发效率。尤其像数据处理这种场景,以往开发时常常需要查找各种函数及其参数的使用方法。现在有了ChatGPT,只要准确描述数据格式及需求,就可以立刻得到相应的处理代码,非常的方便。

我现在做数据分析已经快离不开它了。


在Crossin的新书《码上行动:零基础学会PYTHON编程(CHATGPT版)》中也讲解了类似利用ChatGPT进行辅助开发的案例。

本书力求做到浅显易懂,让完全没有编程经验的零基础“小白”也能学会Python。内容从环境搭建这种最基础的步骤开始讲起,逐渐深入到常见的实际应用当中。在讲解知识点的同时配有相应的代码示例,让读者可以边学边练加深理解。

全书涵盖Python环境搭建、基础语法、常见数据类型、实用模块、正则表达式、面向对象编程、多任务编程等知识点。另外还提供了爬虫、GUI、游戏三个实战项目。

书中还创新地使用 ChatGPT 作为编程学习的辅助,带领读者探索AI时代下学习编程的新模式。

👇点击领取京东红包

0) { // // 非漫画才需要占位 // if (!isCarton) { // const imgWrap = document.createElement('span'); // // imgWrap.className = "js_img_placeholder wx_widget_placeholder_wrp"; // // imgWrap.style = imgStyle; // // imgWrap.setAttribute("data-index", i); // // 用自己当占位的好处:不用担心新的img跟渲染出来的位置宽高不一致 // // imageItem.setAttribute('data-origin-display', imageItem.style.display); // // imageItem.style.display = 'none'; // imageItem.classList.add("js_img_placeholder", "wx_img_placeholder"); // // imageItem.className = "js_img_placeholder wx_img_placeholder"; // imageItem.src = "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E"; // // imgPlaceHolder.className = "js_img_placeholder wx_img_placeholder"; // // imgPlaceHolder.setAttribute("data-src", src_ || realSrc); // // imgPlaceHolder.setAttribute("data-index", i); // // imgPlaceHolder.style = imgStyle; // // imgPlaceHolder.src = "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E"; // // imgWrap.append(imgPlaceHolder); // // insertAfter(imgPlaceHolder, imageItem); // } // var parent_width = getParentWidth(imageItem) || max_width; // var initWidth = imageItem.style.width || imageItem.getAttribute('width') || originWidth || parent_width; // if(initWidth === 'inherit') { // initWidth = parent_width; // } // initWidth = parseFloat(initWidth, 10) > max_width ? max_width : initWidth; // // 有attribute或style中的width,写入_width属性,在图片加载完成时写入img标签 // if (initWidth) { // imageItem.setAttribute('_width', !isNaN(initWidth * 1) ? initWidth + 'px' : initWidth); // } // // 使用百分比,则计算出像素宽度 // if (typeof initWidth === 'string' && initWidth.indexOf('%') !== -1) { // initWidth = parseFloat(initWidth.replace('%', ''), 10) / 100 * parent_width; // } // // 使用auto,就是原始宽度 // if (initWidth === 'auto') { // initWidth = originWidth; // if (originWidth === 'auto') { // initWidth = parent_width; // } else { // initWidth = originWidth; // } // } // var widthNum; // var widthUnit; // if (initWidth === 'auto') { // widthNum = 'auto'; // } else { // var res = /^(\d+(?:\.\d+)?)([a-zA-Z%]+)?$/.exec(initWidth); // widthNum = res && res.length >= 2 ? res[1] : 0; // widthUnit = res && res.length >= 3 && res[2] ? res[2] : 'px'; // } // // 试探一下parent宽度在设置了图片的大小之后是否会变化 // // if (!isCarton) { // // setImgSize(imgPlaceHolder, widthNum, widthUnit, ratio_, true); // // } else { // // setImgSize(imageItem, widthNum, widthUnit, ratio_, true); // // } // setImgSize(imageItem, widthNum, widthUnit, ratio_, true); // // // 真正设置宽高 // // (function (item, widthNumber, unit, ratio) { // // setTimeout(function () { // // setImgSize(item, widthNumber, unit, ratio, false); // // }); // // })(imageItem, widthNum, widthUnit, ratio_); // } else { // // 这里使用visibility 而不是display none 是因为没有占位元素,那就让图片自己占位 // imageItem.style.cssText += ";visibility: hidden !important;"; // } // } // })(); window.__videoDefaultRatio = 16 / 9;//默认值是16/9 window.__getVideoWh = function (dom) { var max_width = getMaxWith(), width = max_width, ratio_ = dom.getAttribute('data-ratio') * 1,//mark16/9 arr = [4 / 3, 16 / 9], ret = arr[0], abs = Math.abs(ret - ratio_); if (!ratio_) { // 没有比例 if (dom.getAttribute("data-mpvid")) { // MP视频 ratio_ = 16 / 9; } else { // 非MP视频,需要兼容历史图文 ratio_ = 4 / 3; } } else { // 有比例,则判断更接近4/3还是更接近16/9 for (var j = 1, jl = arr.length; j < jl; j++) { var _abs = Math.abs(arr[j] - ratio_); if (_abs < abs) { abs = _abs; ret = arr[j]; } } ratio_ = ret; } var parent_width = getParentWidth(dom) || max_width, width = width > parent_width ? parent_width : width, outerW = getOuterW(dom) || 0, outerH = getOuterH(dom) || 0, videoW = width - outerW, videoH = videoW / ratio_, speedDotH = 12, // 播放器新样式的进度条在最下面,为了避免遮住拖动的点点,需要额外设置高一些 height = videoH + outerH + speedDotH; return { w: Math.ceil(width), h: Math.ceil(height), vh: videoH, vw: videoW, ratio: ratio_, sdh: speedDotH }; }; // 图片和视频预加载逻辑,记得H5和秒开要对齐逻辑 (function () { var iframe = document.getElementsByTagName('iframe'); for (var i = 0, il = iframe.length; i < il; i++) { if (window.__second_open__ && iframe[i].getAttribute('__sec_open_place_holder__')) { continue; } var a = iframe[i]; var src_ = a.getAttribute('src') || a.getAttribute('data-src') || ""; /* if (!/^http(s)*\:\/\/v\.qq\.com\/iframe\/(preview|player)\.html\?/.test(src_) && !/^http(s)*\:\/\/mp\.weixin\.qq\.com\/mp\/readtemplate\?t=pages\/video_player_tmpl/.test(src_) ) { continue; } */ var vid = getQuery("vid", src_) || a.getAttribute('data-mpvid'); if (!vid) { continue; } vid = vid.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");//清除前后空格 a.removeAttribute('src'); a.style.display = "none"; var obj = window.__getVideoWh(a), videoPlaceHolderSpan = document.createElement('span'); videoPlaceHolderSpan.className = "js_img_placeholder wx_widget_placeholder"; videoPlaceHolderSpan.setAttribute("data-vid", vid); videoPlaceHolderSpan.innerHTML = ''; videoPlaceHolderSpan.style.cssText = "width: " + obj.w + "px !important;"; insertAfter(videoPlaceHolderSpan, a); // 在视频后面插入占位 /* var parentNode = a.parentNode; var copyIframe = a; var index = i; */ // 由于视频需要加一个转载的来源,所以这里需要提前设置高度 function ajax(obj) { var url = obj.url; var xhr = new XMLHttpRequest(); var data = null; if (typeof obj.data == "object") { var d = obj.data; data = []; for (var k in d) { if (d.hasOwnProperty(k)) { data.push(k + "=" + encodeURIComponent(d[k])); } } data = data.join("&"); } else { data = typeof obj.data == 'string' ? obj.data : null; } xhr.open('POST', url, true); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status >= 200 && xhr.status < 400) { obj.success && obj.success(xhr.responseText); } else { obj.error && obj.error(xhr); } obj.complete && obj.complete(); obj.complete = null; } }; xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); xhr.send(data); } var mid = "2247525584" || "" || ""; var biz = "MzU5Nzg5ODQ3NQ==" || ""; var sessionid = "" || "svr_19a610aeb2c"; var idx = "1" || ""; (function sendReq(parentNode, copyIframe, index, vid) { ajax({ url: '/mp/videoplayer?vid=' + vid + '&mid=' + mid + '&idx=' + idx + '&__biz=' + biz + '&sessionid=' + sessionid + '&f=json', type: "GET", dataType: 'json', success: function (json) { var ret = JSON.parse(json || '{}'); var ori = ret.ori_status; var hit_biz_headimg = ret.hit_biz_headimg + '/64'; var hit_nickname = ret.hit_nickname; var hit_username = ret.hit_username; var sourceBiz = ret.source_encode_biz; var selfUserName = "gh_dfe1628ddbd6"; if (ori === 2 && selfUserName !== hit_username) { var videoBar = document.createElement('div'); var videoBarHtml = ' '; videoBar.innerHTML = videoBarHtml; var spanContainer = document.getElementById('js_mp_video_container_' + index); if (spanContainer) { spanContainer.parentNode.insertBefore(videoBar, spanContainer); } else if (parentNode.contains && parentNode.contains(copyIframe)) { parentNode.insertBefore(videoBar, copyIframe); } else { parentNode.insertBefore(videoBar, parentNode.firstElementChild); } var avatorEle = document.getElementById(hit_biz_headimg + index); var avatorSrc = avatorEle.dataset.src; console.log('avatorSrc' + avatorSrc); if (ret.hit_biz_headimg) { avatorEle.style.backgroundImage = 'url(' + avatorSrc + ')'; } } }, error: function (xhr) { } }); })(a.parentNode, a, i, vid); a.style.cssText += ";width: " + obj.w + "px !important;"; a.setAttribute("width", obj.w); if (window.__zoom != 1) { a.style.display = "block"; videoPlaceHolderSpan.style.display = "none"; a.setAttribute("_ratio", obj.ratio); a.setAttribute("_vid", vid); } else { videoPlaceHolderSpan.style.cssText += "height: " + (obj.h - obj.sdh) + "px !important;margin-bottom: " + obj.sdh + "px !important;"; a.style.cssText += "height: " + obj.h + "px !important;"; a.setAttribute("height", obj.h); } a.setAttribute("data-vh", obj.vh); a.setAttribute("data-vw", obj.vw); if (a.getAttribute("data-mpvid")) { a.setAttribute("data-src", location.protocol + "//mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&auto=0&vid=" + vid); } else { a.setAttribute("data-src", location.protocol + "//v.qq.com/iframe/player.html?vid=" + vid + "&width=" + obj.vw + "&height=" + obj.vh + "&auto=0"); } } })(); (function () { if (window.__zoom != 1) { if (!window.__second_open__) { document.getElementById('page-content').style.zoom = window.__zoom; var a = document.getElementById('activity-name'); var b = document.getElementById('meta_content'); if (!!a) { a.style.zoom = 1 / window.__zoom; } if (!!b) { b.style.zoom = 1 / window.__zoom; } } var images = document.getElementsByTagName('img'); for (var i = 0, il = images.length; i < il; i++) { if (window.__second_open__ && images[i].getAttribute('__sec_open_place_holder__')) { continue; } images[i].style.zoom = 1 / window.__zoom; } var iframe = document.getElementsByTagName('iframe'); for (var i = 0, il = iframe.length; i < il; i++) { if (window.__second_open__ && iframe[i].getAttribute('__sec_open_place_holder__')) { continue; } var a = iframe[i]; a.style.zoom = 1 / window.__zoom; var src_ = a.getAttribute('data-src') || ""; if (!/^http(s)*\:\/\/v\.qq\.com\/iframe\/(preview|player)\.html\?/.test(src_) && !/^http(s)*\:\/\/mp\.weixin\.qq\.com\/mp\/readtemplate\?t=pages\/video_player_tmpl/.test(src_) ) { continue; } var ratio = a.getAttribute("_ratio"); var vid = a.getAttribute("_vid"); a.removeAttribute("_ratio"); a.removeAttribute("_vid"); var vw = a.offsetWidth - (getOuterW(a) || 0); var vh = vw / ratio; var h = vh + (getOuterH(a) || 0) a.style.cssText += "height: " + h + "px !important;" a.setAttribute("height", h); if (/^http(s)*\:\/\/v\.qq\.com\/iframe\/(preview|player)\.html\?/.test(src_)) { a.setAttribute("data-src", location.protocol + "//v.qq.com/iframe/player.html?vid=" + vid + "&width=" + vw + "&height=" + vh + "&auto=0"); } a.style.display = "none"; var parent = a.parentNode; if (!parent) { continue; } for (var j = 0, jl = parent.children.length; j < jl; j++) { var child = parent.children[j]; if (child.className.indexOf("js_img_placeholder") >= 0 && child.getAttribute("data-vid") == vid) { child.style.cssText += "height: " + h + "px !important;"; child.style.display = ""; } } } } })(); })(); 0&&void 0!==arguments[0]?arguments[0]:{};if("function"==typeof document.querySelectorAll)for(var e={maxWith:document.getElementById("img-content").getBoundingClientRect().width,idAttr:"data-preloadingid"},n=0,r=t.config.length;n-1)n[e[r].substring(0,i)]=e[r].substring(i+1)}return n.pass_ticket&&(n.pass_ticket=encodeURIComponent(function(t){for(var e=["`","`","'","'",""",'"'," "," ",">",">","<","<","¥","¥","&","&"],n=0;n16)break;r+=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight)+parseFloat(i.marginLeft)+parseFloat(i.marginRight)+parseFloat(i.borderLeftWidth)+parseFloat(i.borderRightWidth),n=n.parentNode}return e<0?0:e}function a(t){var e=getComputedStyle(t),n=0;return e&&(n=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight)+parseFloat(e.borderLeftWidth)+parseFloat(e.borderRightWidth)),n}function d(t){var e=getComputedStyle(t),n=0;return e&&(n=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)+parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth)),n}function c(t,e,n,r,i){var c=a(t)||0,s=d(t)||0;e>o(t)&&!i&&(e=o(t));var l=(e-c)*r+s;"auto"!==e&&(t.style.cssText+=";width: ".concat(e).concat(n," !important;")),"auto"!==e&&(t.style.cssText+=";height: ".concat(l).concat(n," !important;"))}"undefined"==typeof getComputedStyle&&(document.body.currentStyle?window.getComputedStyle=function(t){return t.currentStyle}:window.getComputedStyle={});var s,l="js_img_placeholder",u=window.localStorage.getItem("isMpUserAccessibility"),p=","+[.875,1,1.125,1.25,1.375].join(",")+",",g=window.location.href.match(/winzoom=(\d+(?:\.\d+)?)/);if(g&&g[1]){var h=parseFloat(g[1]);p.indexOf(","+h+",")}function _(t){var e=new URL(t).pathname,n=e.lastIndexOf("/");return n>0?e.slice(0,n):e}var m=navigator.userAgent;/mac\sos/i.test(m)&&!/(iPhone|iPad|iPod|iOS)/i.test(m)||/windows\snt/i.test(m);var f=document.getElementsByTagName("img"),v="[{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_png/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGTgMbgXHKUK8GLIyoU51NUlsYxiambcwZahbLp5SZUBfiaE1aamjnHWxg/640?wx_fmt=png','width':'1080','height':'654'},{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_png/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGy2biaSNOrib5w3KWxQ0fxaG9EUNG5LApWEBnnjsdE0RoTj1JOAicuTstA/640?wx_fmt=png','width':'1008','height':'1332'},{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_png/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGicIF9Xibk3xV2Z6BYgCbkkcvMs01nwPmTpsS2icP0GhojZpWo6Ze9YYag/640?wx_fmt=png','width':'696','height':'164'},{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_png/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGCtv9MB5BibjxK0ibDXKF5unToiaf01fMwznutuvk36D5QnnIJbls1CK6w/640?wx_fmt=png','width':'1080','height':'681'},{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_png/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGo7lDpNMdwbWnfKuBrkv2dgPHSjdMcziamkS5YibInGAYRXicXtr7ItBpQ/640?wx_fmt=png','width':'1010','height':'956'},{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_png/icic13vic5h8JGHIwATmPick80whIAMzZ5ibG5mF6fYABticds7HcWPpP4PvYQibGhFIhUWboB59NFVXCLh4fCZs0KaLg/640?wx_fmt=png','width':'1080','height':'894'},{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_png/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGwMhOGGcWme2lOiaRuP6jjkkjY9yH3JlibrfoCBK4Ix9LIzrRG4J1rEEw/640?wx_fmt=png','width':'978','height':'1258'},{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_png/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGG7EVpPC9XhkDPIDBlYkfTFjaMLlwRWUKicCcGwnAemtFPgjQxl5VicRg/640?wx_fmt=png','width':'1080','height':'825'},{'cdn_url':'http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/mmbiz_jpg/icic13vic5h8JEibQm58a5nJ1l9Pb8af792mAcH1QiaXlMFKfv6NicECtS7SLQn4tsZ4mGaZYIvY3K3V8znibiaKCrlaTw/640?wx_fmt=jpeg\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'750','height':'7120'},]";v=v.includes(",]")?v.replace(",]","]"):v;try{v=JSON.parse(v.replace(/'/g,'"'))}catch(t){v=[],console.error(t)}!function(e,p,g){for(var h=!document.body.clientWidth||!document.getElementById("img-content")||!document.getElementById("img-content").offsetWidth,m=function(){if(h)return"break";if(window.__second_open__&&p[f].getAttribute("__sec_open_place_holder__"))return"continue";var e=p[f],n=r(e.getAttribute("src")||e.getAttribute("data-src")||"").vid||e.getAttribute("data-mpvid");if(!n)return"continue";n=n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),e.removeAttribute("src"),e.style.display="none";var c,s,u,_=function(t){for(var e=i(),n=e,r=1*t.getAttribute("data-ratio")||4/3,c=[4/3,16/9],s=c[0],l=Math.abs(s-r),u=1,p=c.length;uh?h:n,m=_-(a(t)||0),f=m/r,v=f+(d(t)||0)+12;return{w:Math.ceil(_),h:Math.ceil(v),vh:f,vw:m,ratio:r,sdh:12}}(e),m=document.createElement("span");m.className="".concat(l," wx_widget_placeholder"),m.setAttribute("data-vid",n),m.innerHTML='',m.style.cssText="width: "+_.w+"px !important;",c=m,(u=(s=e).parentNode)&&(u.lastChild===s?u.appendChild(c):u.insertBefore(c,s.nextSibling)),e.style.cssText+=";width: "+_.w+"px !important;",e.setAttribute("width",_.w),m.style.cssText+="height: "+(_.h-_.sdh)+"px !important;margin-bottom: "+_.sdh+"px !important;",e.style.cssText+="height: "+_.h+"px !important;",e.setAttribute("height",_.h),e.setAttribute("data-vh",_.vh),e.setAttribute("data-vw",_.vw),e.setAttribute("data-src","https://v.qq.com/iframe/player.html?vid="+n+"&width="+_.vw+"&height="+_.vh+"&auto=0"),e.setAttribute("__sec_open_place_holder__",!0),e.parentNode;var v=f,y=window.dataaaa.mid,w=window.dataaaa.bizuin,b=window.dataaaa.idx;!function(e){var n=e.url,r=new XMLHttpRequest,i=null;if("object"===t(e.data)){var o=e.data;for(var a in i=[],o)o.hasOwnProperty(a)&&i.push(a+"="+encodeURIComponent(o[a]));i=i.join("&")}else i="string"==typeof e.data?e.data:null;r.open("POST",n,!0),r.onreadystatechange=function(){4===r.readyState&&(r.status>=200&&r.status<400?e.success&&e.success(r.responseText):e.error&&e.error(r),e.complete&&e.complete(),e.complete=null)},r.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r.send(i)}({url:"/mp/videoplayer?vid=".concat(n,"&mid=").concat(y,"&idx=").concat(b,"&__biz=").concat(w,"&f=json"),type:"GET",dataType:"json",success:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=JSON.parse(t),r=e.ori_status,i=e.hit_biz_headimg+"/64",o=e.hit_nickname,a=e.hit_username;if(2===r&&a!==g.user_name){var d=document.createElement("div");d.innerHTML='',document.querySelectorAll(".video_iframe").forEach((function(t){t.getAttribute("data-mpvid")===n&&"1"!==t.getAttribute("data-hasSource")&&(t.setAttribute("data-hasSource",1),t.parentNode.insertBefore(d,t))}));var c=document.getElementById(n+v),s=c.dataset.src;console.log("avatorSrc"+s),e.hit_biz_headimg&&(c.style.backgroundImage="url(".concat(s,")"))}},error:function(t){}})},f=0,v=p.length;f1682352e3&&(x&&((new Image).src="//mp.weixin.qq.com/mp/jsmonitor?idkey=330742_20_".concat(x,"&r=").concat(Math.random())),C&&((new Image).src="//mp.weixin.qq.com/mp/jsmonitor?idkey=330742_21_".concat(C,"&r=").concat(Math.random())),g.picture_page_info_list.length||setTimeout((function(){(C=document.querySelectorAll("#js_content img").length)&&((new Image).src="//mp.weixin.qq.com/mp/jsmonitor?idkey=330742_21_".concat(C,"&r=").concat(Math.random()))}),300))}for(var A=0,T=e.length;A 0){if(!w){if(R.src="data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E",h)continue;R.classList.add(l,"wx_img_placeholder")}var L=o(R)||b,H=R.style.width||R.getAttribute("width")||F||L;"inherit"===(H=parseFloat(H,10)>b?b:H)&&(H=L),H&&R.setAttribute("_width",isNaN(1*H)?H:H+"px"),"string"==typeof H&&-1!==H.indexOf("%")&&(H=parseFloat(H.replace("%",""),10)/100*L),"auto"===H&&(H=F,H="auto"!==F&&F?F:L);var M=/^(\d+(?:\.\d+)?)([a-zA-Z%]+)?$/.exec(H);I=M&&M.length>=2?M[1]:0,E=M&&M.length>=3&&M[2]?M[2]:"px";var N=I;w?(R.src=S,R.style.height="auto"):(c(R,N,E,q,!0),c(R,N,E,q,!1))}else R.style.cssText+=";visibility: hidden !important;";g.is_h5_render||R.setAttribute("__sec_open_place_holder__",!0)}}n()}(f,[],{is_h5_render:!0,user_name:"gh_dfe1628ddbd6",copyright_info:{is_cartoon_copyright:"0"},picture_page_info_list:v,create_timestamp:"1686756378",user_info:{is_care_mode:""}})}(); ') .replace(/"/g, '"') .replace(/&/g, '&') .replace(/ /g, ' '); } var uin = ''; var key = ''; var pass_ticket = ''; var new_appmsg = 1; var item_show_type = "0"; var real_item_show_type = "0"; var can_see_complaint = "0"; var tid = ""; var aid = ""; var clientversion = ""; var appuin = "MzU5Nzg5ODQ3NQ==" || ""; var voiceid = ""; var create_time = "1686756378" * 1; // 发布时间,unix时间戳 var source = ""; var ascene = ""; var subscene = ""; var sessionid = "" || "svr_19a610aeb2c"; var abtest_cookie = ""; var finder_biz_enter_id = "" * 1; // 视频号特殊区分场景,主要为流内广告设置,产品workinghe var scene = 75; var itemidx = ""; var appmsg_token = ""; var _copyright_stat = "2"; var _ori_article_type = ""; var is_follow = ""; var nickname = "凹凸数据"; var appmsg_type = "9"; var ct = "1686756378"; var user_name = "gh_dfe1628ddbd6"; var fakeid = ""; var version = ""; var is_limit_user = "0"; var round_head_img = "http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/mmbiz_png/tXYict40xfLgPl6Zdae8ow46kmxAzUR5BBXnkmuMVhBZrZALgKPXN1OSzlBaV28ibibgjj0P0OUZZrCoUI55BMKkw/0?wx_fmt=png"; var hd_head_img = "http://wx.qlogo.cn/mmhead/Q3auHgzwzM56voduZ9wYBKhrGp6LCXZeeFCibBic9TTUCMw8OE6qv61A/0" || ""; var ori_head_img_url = "http://wx.qlogo.cn/mmhead/Q3auHgzwzM56voduZ9wYBKhrGp6LCXZeeFCibBic9TTUCMw8OE6qv61A/132"; var msg_title = '用ChatGPT写一个数据采集程序'.html(false); var msg_desc = htmlDecode(""); var msg_cdn_url = "http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_jpg/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGwS2qQiafmUTRmlwPfdBkVmqfib1Tib6mSmlva4qegQbib6xZyGx2P9r3SA/0?wx_fmt=jpeg"; // 首图idx=0时2.35:1 , 次图idx!=0时1:1 var cdn_url_1_1 = "http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_jpg/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGwS2qQiafmUTRmlwPfdBkVmqfib1Tib6mSmlva4qegQbib6xZyGx2P9r3SA/0?wx_fmt=jpeg"; // 1:1比例的封面图 var cdn_url_235_1 = "http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/sz_mmbiz_jpg/icic13vic5h8JGHIwATmPick80whIAMzZ5ibGwS2qQiafmUTRmlwPfdBkVmqfib1Tib6mSmlva4qegQbib6xZyGx2P9r3SA/0?wx_fmt=jpeg"; // 首图idx=0时2.35:1 , 次图idx!=0时1:1 // var msg_link = "http://mp.weixin.qq.com/s?__biz=MzU5Nzg5ODQ3NQ==\x26amp;mid=2247525584\x26amp;idx=1\x26amp;sn=91ab647ccad37f7667d7cb88a3ccadbf\x26amp;chksm=fe4e4154c939c8420bc1068fad78b9089ee9adda7eba8671665a7d19601c82192ba3f4f6c6f4#rd"; var msg_link = "http://mp.weixin.qq.com/s?__biz=MzU5Nzg5ODQ3NQ==&mid=2247525584&idx=1&sn=91ab647ccad37f7667d7cb88a3ccadbf&chksm=fe4e4154c939c8420bc1068fad78b9089ee9adda7eba8671665a7d19601c82192ba3f4f6c6f4#rd"; // @radeonwu var user_uin = "" * 1; var msg_source_url = 'https://u.jd.com/g8QsRjK'; var img_format = 'jpeg'; var srcid = ''; var req_id = '1503bxZUawzovF93XM2bSGsX'; var networkType; var appmsgid = "" || '' || '2247525584'; var comment_id = "2972319254475898881" || "2972319254475898881" * 1; var comment_enabled = "" * 1; var open_fansmsg = "0" * 1; var is_https_res = ("" * 1) && (location.protocol == "https:"); var msg_daily_idx = "1" || ""; var profileReportInfo = "" || ""; var devicetype = ""; var source_encode_biz = "MjM5MDEyMDk4Mw=="; // 转载来源的公众号encode biz var source_username = "gh_5ffd8141d976"; // var profile_ext_signature = "" || ""; var reprint_ticket = "omc%2FjqC0rH80lpKtGfnjcnYekbD3Wbw6xDf9CWsv7Mg%2BwRuL9%2FRZGsE8pJEkKcM0"; var source_mid = "2650190421"; var source_idx = "1"; var source_biz = "2390120983"; var author = "Crossin先生"; var author_id = "ofMoI4_qcot9V45SsDT2P4rNW544"; var author_cancel = "" * 1 || 0; var reward_wording = ""; // 压缩标志位 var optimizing_flag = "0" * 1; // 广告灰度实验取消 @add by scotthuang // var ad_abtest_padding = "0" * 1; var show_comment = ""; var __appmsgCgiData = { wxa_product: "" * 1, wxa_cps: "" * 1, show_msg_voice: "0" * 1, can_use_page: "" * 1, is_wxg_stuff_uin: "0" * 1, card_pos: "0", copyright_stat: "2", source_biz: "2390120983", hd_head_img: "http://wx.qlogo.cn/mmhead/Q3auHgzwzM56voduZ9wYBKhrGp6LCXZeeFCibBic9TTUCMw8OE6qv61A/0" || (window.location.protocol + "//" + window.location.host + "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_rumor_link6699e7.jpg"), has_red_packet_cover: "0" * 1 || 0, minishopCardData: "" }; var _empty_v = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/audios/empty6699e7.mp3"; var appmsg_album_info = (function () { var curAlbumId = ''; var publicTagInfo = [ ]; for (var i = 0; i < publicTagInfo.length; i++) { if (curAlbumId) { if (curAlbumId === publicTagInfo[i].id) { return publicTagInfo[i]; } } else { if (publicTagInfo[i].continousReadOn) { return publicTagInfo[i]; } } } return {}; })(); var copyright_stat = "2" * 1; var hideSource = "0" * 1; var pay_fee = "" * 1; var pay_timestamp = ""; var need_pay = "" * 1; var is_pay_subscribe = "0" * 1; var need_report_cost = "0" * 1; var use_tx_video_player = "0" * 1; var appmsg_fe_filter = "contenteditable"; var friend_read_source = "" || ""; var friend_read_version = "" || ""; var friend_read_class_id = "" || ""; var is_only_read = "1" * 1; var read_num = "" * 1; var like_num = "" * 1; var liked = "" == 'true' ? true : false; var is_temp_url = "" ? 1 : 0; var tempkey = ""; var send_time = ""; var icon_emotion_switch = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/emotion/icon_emotion_switch6699e7.svg"; var icon_emotion_switch_active = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/emotion/icon_emotion_switch_active6699e7.svg"; var icon_emotion_switch_primary = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/emotion/icon_emotion_switch_primary6699e7.svg"; var icon_emotion_switch_active_primary = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/emotion/icon_emotion_switch_active_primary6699e7.svg"; var icon_loading_white = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/common/icon_loading_white6699e7.gif"; var icon_audio_unread = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/audio/icon_audio_unread6699e7.png"; var icon_qqmusic_default = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/audio/icon_qqmusic_default6699e7.png"; var icon_qqmusic_source = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/audio/icon_qqmusic_source6699e7.svg"; var icon_kugou_source = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/audio/icon_kugou_source6699e7.png"; var topic_default_img = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_book_thumb6699e7.png'; var comment_edit_icon = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/common/icon_edit6699e7.png'; var comment_loading_img = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/common/icon_loading_white6699e7.gif'; var comment_c2c_not_support_img = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_discuss_more6699e7.png'; var tts_is_ban = '' * 1 || 0; var tts_is_show = '' * 1 || 0; var tts_heard_person_cnt = '' * 1 || 0; var voice_in_appmsg = { "1": "1" }; var voiceList = {}; voiceList={"voice_in_appmsg":[]} var reprint_style = '0' * 1; var reprint_type = '3' * 1; var wxa_img_alert = "" != 'false'; // 小程序相关数据 var weapp_sn_arr_json = "" || ""; // 图文视频相关数据 var videoPageInfos = [ ]; window.__videoPageInfos = videoPageInfos; // 视频号相关数据 var video_snap_json = "" || ""; // profile相关数据 var mp_profile = [ ]; // 能力封禁字段 var ban_scene = "0" * 1; var ban_jump_link = { }; var svr_time = "1686771361" * 1; // 加迁移文章字段, 默认为false var is_transfer_msg = "" * 1 || 0; var malicious_title_reason_id = "0" * 1; // 标题党wording id @radeonwu var malicious_content_type = "0" * 1; // 标题党类型 @radeonwu // 修改错别字逻辑 var modify_time = "" * 1; var modify_detail = []; // 限制跳转到公众号profile @radeonwu var isprofileblock = "0"; var jumpInfo = [ ]; window.service_type = '0' * 1; // 0订阅号1服务号 var hasRelatedArticleInfo = '0' * 1 || 0; // 有相关阅读的数据 @radeonwu var relatedArticleFlag = '' * 1 || 0; // 0不用拓展,为1时拓展3条 @yinshen var canUseAutoTypeSetting; canUseAutoTypeSetting = '3' * 1 || 0; // 可以应用到自动排版样式 var styleType = '3'; var originTypeSetting = '3'; var originStyleType = '3'; var reprintEditable = '1'; var currentSvrStyleType, originSvrStyleType; if (!isNaN(parseInt(styleType)) && parseInt(styleType) > 0) { currentSvrStyleType = parseInt(styleType); } else if (!isNaN(parseInt(canUseAutoTypeSetting))) { currentSvrStyleType = parseInt(canUseAutoTypeSetting); } else { currentSvrStyleType = 0; } if (!isNaN(parseInt(originStyleType)) && parseInt(originStyleType) > 0) { originSvrStyleType = parseInt(originStyleType); } else if (!isNaN(parseInt(originTypeSetting))) { originSvrStyleType = parseInt(originTypeSetting); } else { originSvrStyleType = 0; } // 转载源段后距设置不一致 并且 转载设置为不可编辑才去修改文章段后距显示 if (reprint_type 0 && originSvrStyleType !== currentSvrStyleType && parseInt(reprintEditable) === 0) { var dc = document.getElementById('js_content').classList; dc.remove('autoTypeSetting'); dc.remove('autoTypeSetting24'); dc.remove('autoTypeSetting24psection'); var finalSetting = parseInt(originSvrStyleType); // 优先使用转载设置 做修正 if (finalSetting === 1) { dc.add('autoTypeSetting'); } else if (finalSetting === 2) { dc.add('autoTypeSetting24'); } else if (finalSetting === 3) { dc.add('autoTypeSetting24psection'); } } window.wxtoken = "777"; window.is_login = '' * 1; // 把上面的那段代码改一下,方便配置回退 window.__moon_initcallback = function () { if (!!window.__initCatch) { window.__initCatch({ idkey: 27611 + 2, startKey: 0, limit: 128, badjsId: 43, reportOpt: { uin: uin, biz: biz, mid: mid, idx: idx, sn: sn }, extInfo: { network_rate: 0.01, //网络错误采样率 badjs_rate: 0.1 // badjs上报叠加采样率 } }); } } // msg_title != title var title = "凹凸数据"; var is_new_msg = true; // var appmsg_like_type = "2" * 1 ? "2" * 1 : 1; //区分点赞和看一看 // var appmsg_like_type = 2; var is_wash = '' * 1; var topbarEnable = false; var enterid = "" * 1 || "" * 1 || parseInt(Date.now() / 1000); var reloadid = '' * 1 || parseInt(Date.now() / 1000); // 视频落地页连续播放id var reloadseq = '' * 1 || 1; // 连续播放序号 // var appid_list = ""; // 改图文所在的小程序的appid列表,只在小程序中使用 var miniprogram_appid = ""; // 该图文所在的小程序的appid var defaultAvatarUrl = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/common/icon_avatar_default6699e7.svg'; document.addEventListener('DOMContentLoaded', function () { window.domCompleteTime = Date.now(); }); // 记录是否有转载推荐语 var hasRecommendMsg = 0; ; // 付费阅读 var isPayTopic = '' * 1; var payTopicPrice = '' * 1; var isRemovedFromPayTopic = '' * 1; var isPaySubscribe = '0' * 1; // 是否付费文章 var isPaid = '0' * 1; // 是否已付费 var isRefund = '' * 1; // 是否已退款 var payShowIAPPrice = 1; // 是否启用IAP价格显示,用于外币显示 var payProductId = '' || ''; // 付费金额对应商品ID,用于iOS多币种金额IAP查询 var previewPercent = '0' || ''; // 试读比例 var payGiftsCount = '0' * 1 || 0; // 付费赠送数量 var payDesc = htmlDecode(''); var payFreeGift = '' * 1 || 0; // 是否是领取付费赠送的用户 var is_finished_preview = 0; // 是否试读完 var jump2pay = '' * 1; // 是否跳转到支付按钮的位置 var isFans; // getext里获取数据再塞到这里 var can_reward = '0' * 1 || 0; var is_need_reward = (isPaySubscribe && !isPaid) ? 0 : "0" * 1; // 非付费不可赞赏 var is_teenager = '' * 1 || 0; //是否处于青少年模式 var is_care_mode = '' * 1 || 0; //是否处于关怀模式 // 段落投诉 var anchor_tree_msg = ''; // Dark Mode var colorScheme = ''; // ''|'dark'|'light', 空表示跟随系统 var iapPriceInfo = { }; var productPayPackage = { iap_price_info: iapPriceInfo }; // 漫画原创 var isCartoonCopyright = '0' * 1; // 是否漫画原创 // 图文朗读 var show_msg_voice = '' * 1; var qnaCardData = ''; var exptype = '' || ''; var expsessionid = '' || ''; // 留言相关 var goContentId = ''; var goReplyId = ''; var show_related_article = '' * 1; // 是否强制出相关阅读 var related_article_scene = '' * 1; // 套娃时源头文章的scene var wwdistype = ''; // 企微场景,industrynews表示行业资讯 // 腾讯视频相关 window.cgiData = { appImg: '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_tencent_video6699e7.png', } window.ip_wording = { countryName: '中国', countryId: '156', provinceName: '北京', provinceId: '', cityName: '', cityId: '' }; window.show_ip_wording = '1' * 1; window.source_appid = 'wx6ca879f4a4c06f00'; // 公众号appid window.is_over_sea = '' * 1; // 海外ip window.showAdMark = "0" * 1; // 是否显示广告打标 // 🔍关键词 window.search_keywords = [ ]; !function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var i=function(t,i){if("object"!==e(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,i||"default");if("object"!==e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===i?String:Number)(t)}(t,"string");return"symbol"===e(i)?i:String(i)}function i(e,i){for(var r=0;r"10")&&"click"!==e.getAttribute("begin")&&"click"!==e.getAttribute("end")&&(e.setAttribute("repeatCount","undefined"),e.setAttribute("attributeName","undefined"),(new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=306525_1_1")}"OL"===e.tagName&&(e.parentNode===document.getElementById("js_content")||"js_secopen_content"===e.parentNode.getAttribute("id"))&&e.getAttribute("style")&&e.getAttribute("style").indexOf("padding-left")<0&&(e.childNodes.length>=10&&e.childNodes.length<100?(e.classList.add("extra-list-padding-level1"),e.style.paddingLeft="2.2em"):e.childNodes.length>100&&(e.classList.add("extra-list-padding-level2"),e.style.paddingLeft="3.2em"))}}])&&i(a.prototype,s),p&&i(a,p),Object.defineProperty(a,"prototype",{writable:!1}),u}(e)}]),window.Darkmode.run(document.querySelectorAll("#js_content *"),{mode:"",defaultDarkBgColor:"",error:function(){(new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_0_1"},begin:function(e){(new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_2_1",e&&((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_4_1"),_=1*new Date},showFirstPage:function(){_=1*new Date-_;var e=0===(document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop);_<=10?((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_6_1",e&&((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_13_1")):_>10&&_<=20?((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_7_1",e&&((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_14_1")):_>20&&_<=30?((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_8_1",e&&((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_15_1")):_>30&&_<=40?((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_9_1",e&&((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_16_1")):_>40&&_<=50?((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_10_1",e&&((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_17_1")):_>50&&_<=60?((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_11_1",e&&((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_18_1")):((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_12_1",e&&((new Image).src="https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_19_1"))}}),document.getElementById("js_content").style.visibility="visible"}}(); new Image().src='https://mp.weixin.qq.com/mp/jsmonitor?idkey=66881_111_1&t='+Math.random();
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156360
 
395 次点击