前言
之前在用jQuery,不过有时候用着用着一些用法发现并没有用到过,比较陌生,现在重新梳理一下,把易忽略的知识点总结一下,长期更新。 参考梳理来源: 慕课网
sele1,sele2,seleN选择器
有时需要精确的选择任意多个指定的元素,类似于从文具盒中挑选出多根自已喜欢的笔,就需要调用sele1,sele2,seleN选择器,它的调用格式如下: $(“sele1,sele2,seleN”)
其中参数sele1、sele2到seleN为有效选择器,每个选择器之间用“,”号隔开,它们可以是之前提及的各种类型选择器,如$(“#id”)、$(“.class”)、$(“selector”)
选择器等。 例如,通过选择器获取其中的任意两个元素,并将它们显示的内容设为相同,如图所示: 在浏览器中显示的效果:
虽然页面中添加了三个元素,但是通过使用
$(“div,p”)
选择器方式获取了其中的
元素,并设置它们显示的内容。
prev + next选择器
俗话说“远亲不如近邻”,而通过prev + next
选择器就可以查找与“prev”元素紧邻的下一个“next”元素,格式如下: $(“prev + next”)
其中参数prev为任何有效的选择器,参数“next”为另外一个有效选择器,它们之间的“+”表示一种上下的层次关系,也就是说,“prev”元素最紧邻的下一个元素由“next”选择器返回的并且只返回唯的一个元素。 例如,使用prev + next
选择器,获取
元素最近邻的下一个元素,如下图所示: 在浏览器中显示的效果:
prev ~ siblings选择器
与上一节中介绍的prev + next
层次选择器相同,prev ~ siblings
选择器也是查找prev 元素之后的相邻元素,但前者只获取第一个相邻的元素,而后者则获取prev 元素后面全部相邻的元素,它的调用格式如下: $(“prev ~ siblings”)
其中参数prev与siblings两者之间通过“~”符号形成一种层次相邻的关系,表明siblings选择器获取的元素都是prev元素之后的同辈元素。 例如,使用prev ~ next
选择器,获取
元素后面相邻的全部元素,并设置它们在页面中显示的内容,如下图所示: 在浏览器中显示的效果:
可以看出,调用
$("p~span")
选择器代码,获取了
元素下面两个(全部)的元素,该元素不包含
元素上面的元素和不属于同辈范围的元素。
:contains(text)过滤选择器
与上一节介绍的:eq(index)选择器按索引查找元素相比,有时候我们可能希望按照文本内容来查找一个或多个元素,那么使用:contains(text)
选择器会更加方便, 它的功能是选择包含指定字符串的全部元素,它通常与其他元素结合使用,获取包含“text”字符串内容的全部元素对象。其中参数text
表示页面中的文字。 例如: 在浏览器中显示的效果:
从图中可以看出,调用
li:contains('土豪')
代码,可以很方便地获取
li:contains('土豪')
土豪为什么必须加单引号呢?因为它是一个字符串,而不是一个变量,所以不加单或双引号的话是会报错的。
:has(selector)过滤选择器
除了在上一小节介绍的使用包含的字符串内容过滤元素之外,还可以使用包含的元素名称来过滤,:has(selector)
过滤选择器的功能是获取选择器中包含指定元素名称的全部元素,其中selector
参数就是包含的元素名称,是被包含元素。 例如:获取指定包含某个元素名的全部


$("li:has('p')")
选择器代码,获取了包含
元素的全部
:hidden过滤选择器
:hidden
过滤选择器的功能是获取全部不可见的元素,这些不可见的元素中包括type属性值为hidden的元素。 例如,调用:hidden
选择器获取不可见的
元素,并将该元素的内容显示在


$("p:hidden")
代码获取隐藏的
元素,并调用该元素的html()方法获取该元素中的内容,最后将该内容显示在
:visible过滤选择器
与上一节的:hidden
过滤选择器相反,:visible
过滤选择器获取的是全部可见的元素,也就是说,只要不将元素的display属性值设置为“none”,那么,都可以通过该选择器获取。 例如,使用:visible
选择器获取可见的
元素,并将该元素的内容显示在


$("p:visible")
选择器代码,获取那个可见的
元素,并调用html()
方法获取该元素的内容,最后将该内容显示在
:input表单选择器
如何获取表单全部元素?:input
表单选择器可以实现,它的功能是返回全部的表单元素,不仅包括所有标记的表单元素,而且还包括
</div>
<div class=”reward-container”>
<div></div>
<button onclick=”var qr = document.getElementById(‘qr’); qr.style.display = (qr.style.display === ‘none’) ? ‘block’ : ‘none’;”> 打赏 </button>
<div id=”qr” style=”display: none;”>
<div style=”display: inline-block;”>
<img src=”/images/wechatpay.jpg” alt=”崔庆才 微信支付”>
<p>微信支付</p>
</div>
<div style=”display: inline-block;”>
<img src=”/images/alipay.jpg” alt=”崔庆才 支付宝”>
<p>支付宝</p>
</div>
</div>
</div>
<footer class=”post-footer”>
<div class=”post-nav”>
<div class=”post-nav-item”>
<a href=”/2491.html” rel=”prev” title=”PhpStorm使用File Watchers自动编译less”>
<i class=”fa fa-chevron-left”></i> PhpStorm使用File Watchers自动编译less
</a></div>
<div class=”post-nav-item”>
<a href=”/2556.html” rel=”next” title=”Python爬虫利器一之Requests库的用法”>
Python爬虫利器一之Requests库的用法 <i class=”fa fa-chevron-right”></i>
</a></div>
</div>
</footer>
</article>
</div>
<div class=”comments” id=”gitalk-container”></div>
<script>
window.addEventListener(‘tabs:register’, () => {
let { activeClass } = CONFIG.comments;
if (CONFIG.comments.storage) {
activeClass = localStorage.getItem(‘comments_active’) || activeClass;
}
if (activeClass) {
let activeTab = document.querySelector(`a[href=”#comment-${activeClass}”]`);
if (activeTab) {
activeTab.click();
}
}
});
if (CONFIG.comments.storage) {
window.addEventListener(‘tabs:click’, event => {
if (!event.target.matches(‘.tabs-comment .tab-content .tab-pane’)) return;
let commentClass = event.target.classList[1];
localStorage.setItem(‘comments_active’, commentClass);
});
}
</script>
</div>
<div class=”toggle sidebar-toggle”>
<span class=”toggle-line toggle-line-first”></span>
<span class=”toggle-line toggle-line-middle”></span>
<span class=”toggle-line toggle-line-last”></span>
</div>
<aside class=”sidebar”>
<div class=”sidebar-inner”>
<ul class=”sidebar-nav motion-element”>
<li class=”sidebar-nav-toc”>
文章目录
</li>
<li class=”sidebar-nav-overview”>
站点概览
</li>
</ul>
<!–noindex–>
<div class=”post-toc-wrap sidebar-panel”>
<div class=”post-toc motion-element”><ol class=”nav”><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#前言”><span class=”nav-number”>1.</span> <span class=”nav-text”>前言</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#sele1-sele2-seleN选择器”><span class=”nav-number”>2.</span> <span class=”nav-text”>sele1,sele2,seleN选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#prev-next选择器”><span class=”nav-number”>3.</span> <span class=”nav-text”>prev + next选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#prev-siblings选择器”><span class=”nav-number”>4.</span> <span class=”nav-text”>prev ~ siblings选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#contains-text-过滤选择器”><span class=”nav-number”>5.</span> <span class=”nav-text”>:contains(text)过滤选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#has-selector-过滤选择器”><span class=”nav-number”>6.</span> <span class=”nav-text”>:has(selector)过滤选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#hidden过滤选择器”><span class=”nav-number”>7.</span> <span class=”nav-text”>:hidden过滤选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#visible过滤选择器”><span class=”nav-number”>8.</span> <span class=”nav-text”>:visible过滤选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#input表单选择器”><span class=”nav-number”>9.</span> <span class=”nav-text”>:input表单选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#text表单文本选择器”><span class=”nav-number”>10.</span> <span class=”nav-text”>:text表单文本选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#password表单密码选择器”><span class=”nav-number”>11.</span> <span class=”nav-text”>:password表单密码选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#radio单选按钮选择器”><span class=”nav-number”>12.</span> <span class=”nav-text”>:radio单选按钮选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#checkbox复选框选择器”><span class=”nav-number”>13.</span> <span class=”nav-text”>:checkbox复选框选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#submit提交按钮选择器”><span class=”nav-number”>14.</span> <span class=”nav-text”>:submit提交按钮选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#button表单按钮选择器”><span class=”nav-number”>15.</span> <span class=”nav-text”>:button表单按钮选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#checked选中状态选择器”><span class=”nav-number”>16.</span> <span class=”nav-text”>:checked选中状态选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#selected选中状态选择器”><span class=”nav-number”>17.</span> <span class=”nav-text”>:selected选中状态选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#first-child子元素过滤选择器”><span class=”nav-number”>18.</span> <span class=”nav-text”>:first-child子元素过滤选择器</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#替换内容”><span class=”nav-number”>19.</span> <span class=”nav-text”>替换内容</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#使用wrap-和wrapInner-方法包裹元素和内容”><span class=”nav-number”>20.</span> <span class=”nav-text”>使用wrap()和wrapInner()方法包裹元素和内容</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#使用remove-和empty-方法删除元素”><span class=”nav-number”>21.</span> <span class=”nav-text”>使用remove()和empty()方法删除元素</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#使用hover-方法切换事件”><span class=”nav-number”>22.</span> <span class=”nav-text”>使用hover()方法切换事件</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#使用toggle-方法绑定多个函数”><span class=”nav-number”>23.</span> <span class=”nav-text”>使用toggle()方法绑定多个函数</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#使用one-方法绑定元素的一次性事件”><span class=”nav-number”>24.</span> <span class=”nav-text”>使用one()方法绑定元素的一次性事件</span></a></li><li class=”nav-item nav-level-2″><a class=”nav-link” href=”#调用animate-方法制作移动位置的动画”><span class=”nav-number”>25.</span> <span class=”nav-text”>调用animate()方法制作移动位置的动画</span></a></li></ol></div>
</div>
<!–/noindex–>
<div class=”site-overview-wrap sidebar-panel”>
<div class=”site-author motion-element” itemprop=”author” itemscope itemtype=”http://schema.org/Person”>
<img class=”site-author-image” itemprop=”image” alt=”崔庆才” src=”/images/avatar.png”>
<p class=”site-author-name” itemprop=”name”>崔庆才</p>
<div class=”site-description” itemprop=”description”>静觅丨崔庆才的个人站点专业为您提供爬虫教程,爬虫,Python,Python爬虫,Python爬虫教程,爬虫书的相关信息,想要了解更多详情,请联系我们。</div>
</div>
<div class=”site-state-wrap motion-element”>
<nav class=”site-state”>
<div class=”site-state-item site-state-posts”>
<a href=”/archives/”>
<span class=”site-state-item-count”>672</span>
<span class=”site-state-item-name”>日志</span>
</a>
</div>
<div class=”site-state-item site-state-categories”>
<a href=”/categories/”>
<span class=”site-state-item-count”>27</span>
<span class=”site-state-item-name”>分类</span></a>
</div>
<div class=”site-state-item site-state-tags”>
<a href=”/tags/”>
<span class=”site-state-item-count”>230</span>
<span class=”site-state-item-name”>标签</span></a>
</div>
</nav>
</div>
<div class=”links-of-author motion-element”>
<span class=”links-of-author-item”>
<span class=”exturl” data-url=”aHR0cHM6Ly9naXRodWIuY29tL0dlcm1leQ==” title=”GitHub → https://github.com/Germey”><i class=”fab fa-github fa-fw”></i>GitHub</span>
</span>
<span class=”links-of-author-item”>
<span class=”exturl” data-url=”bWFpbHRvOmNxY0BjdWlxaW5nY2FpLmNvbS5jb20=” title=”邮件 → mailto:cqc@cuiqingcai.com.com”><i class=”fa fa-envelope fa-fw”></i>邮件</span>
</span>
<span class=”links-of-author-item”>
<span class=”exturl” data-url=”aHR0cHM6Ly93ZWliby5jb20vY3VpcWluZ2NhaQ==” title=”微博 → https://weibo.com/cuiqingcai”><i class=”fab fa-weibo fa-fw”></i>微博</span>
</span>
<span class=”links-of-author-item”>
<span class=”exturl” data-url=”aHR0cHM6Ly93d3cuemhpaHUuY29tL3Blb3BsZS9HZXJtZXk=” title=”知乎 → https://www.zhihu.com/people/Germey”><i class=”fa fa-magic fa-fw”></i>知乎</span>
</span>
</div>
</div>
<div
style=” width: 100%;”
class=”sidebar-panel sidebar-panel-image sidebar-panel-active”>
<a href=”https://item.jd.com/13527222.html” target=”_blank” rel=”noopener”>
<img src=”https://qiniu.cuiqingcai.com/ei5og.jpg”
style=” width: 100%;”>
</a>
</div>
<div class=”sidebar-panel sidebar-panel-categories sidebar-panel-active”>
<h4 class=”name”>
分类
</h4>
<div class=”content”>
<ul class=”category-list”><li class=”category-list-item”><a class=”category-list-link” href=”/categories/C-C/”>C/C++</a><span class=”category-list-count”>23</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/HTML/”>HTML</a><span class=”category-list-count”>14</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/Java/”>Java</a><span class=”category-list-count”>5</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/JavaScript/”>JavaScript</a><span class=”category-list-count”>26</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/Linux/”>Linux</a><span class=”category-list-count”>14</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/Markdown/”>Markdown</a><span class=”category-list-count”>2</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/Net/”>Net</a><span class=”category-list-count”>4</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/Other/”>Other</a><span class=”category-list-count”>40</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/PHP/”>PHP</a><span class=”category-list-count”>27</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/Paper/”>Paper</a><span class=”category-list-count”>2</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/Python/”>Python</a><span class=”category-list-count”>302</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/TypeScript/”>TypeScript</a><span class=”category-list-count”>2</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E4%B8%AA%E4%BA%BA%E5%B1%95%E7%A4%BA/”>个人展示</a><span class=”category-list-count”>1</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E4%B8%AA%E4%BA%BA%E6%97%A5%E8%AE%B0/”>个人日记</a><span class=”category-list-count”>9</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E4%B8%AA%E4%BA%BA%E8%AE%B0%E5%BD%95/”>个人记录</a><span class=”category-list-count”>6</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E4%B8%AA%E4%BA%BA%E9%9A%8F%E7%AC%94/”>个人随笔</a><span class=”category-list-count”>21</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/”>安装配置</a><span class=”category-list-count”>59</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E6%8A%80%E6%9C%AF%E6%9D%82%E8%B0%88/”>技术杂谈</a><span class=”category-list-count”>96</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E6%9C%AA%E5%88%86%E7%B1%BB/”>未分类</a><span class=”category-list-count”>1</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/”>深度学习</a><span class=”category-list-count”>1</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E7%88%AC%E8%99%AB/”>爬虫</a><span class=”category-list-count”>4</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E7%94%9F%E6%B4%BB%E7%AC%94%E8%AE%B0/”>生活笔记</a><span class=”category-list-count”>1</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E7%A6%8F%E5%88%A9%E4%B8%93%E5%8C%BA/”>福利专区</a><span class=”category-list-count”>6</span></li><li class=”category-list-item”><a class=”category-list-link” href=”/categories/%E8%81%8C%E4%BD%8D%E6%8E%A8%E8%8D%90/”>职位推荐</a><span class=”category-list-count”>2</span></li></ul>
</div>
</div>
<div
style=” width: 100%;”
class=”sidebar-panel sidebar-panel-image sidebar-panel-active”>
<a href=”http://www.ipidea.net/?utm-source=cqc&utm-keyword=?cqc” target=”_blank” rel=”noopener”>
<img src=”https://qiniu.cuiqingcai.com/0ywun.png”
style=” width: 100%;”>
</a>
</div>
<div
style=” width: 100%;”
class=”sidebar-panel sidebar-panel-image sidebar-panel-active”>
<a href=”https://www.stormproxies.cn/?keyword=jingmi” target=”_blank” rel=”noopener”>
<img src=”https://qiniu.cuiqingcai.com/a2zad8.png”
style=” width: 100%;”>
</a>
</div>
<div class=”sidebar-panel sidebar-panel-friends sidebar-panel-active”>
<h4 class=”name”>
友情链接
</h4>
<ul class=”friends”>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/j2dub.jpg”>
</span>
<span class=”link”>
<a href=”https://www.findhao.net/” target=”_blank” rel=”noopener”>FindHao</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/6apxu.jpg”>
</span>
<span class=”link”>
<a href=”https://www.51dev.com/” target=”_blank” rel=”noopener”>IT技术社区</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/bqlbs.png”>
</span>
<span class=”link”>
<a href=”http://www.urselect.com/” target=”_blank” rel=”noopener”>优社电商</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/8s88c.jpg”>
</span>
<span class=”link”>
<a href=”https://www.yuanrenxue.com/” target=”_blank” rel=”noopener”>猿人学</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/2wgg5.jpg”>
</span>
<span class=”link”>
<a href=”https://www.yunlifang.cn/” target=”_blank” rel=”noopener”>云立方</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/shwr6.png”>
</span>
<span class=”link”>
<a href=”http://lanbing510.info/” target=”_blank” rel=”noopener”>冰蓝</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/blvoh.jpg”>
</span>
<span class=”link”>
<a href=”https://lengyue.me/” target=”_blank” rel=”noopener”>冷月</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”http://qianxunclub.com/favicon.png”>
</span>
<span class=”link”>
<a href=”http://qianxunclub.com/” target=”_blank” rel=”noopener”>千寻啊千寻</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/0044u.jpg”>
</span>
<span class=”link”>
<a href=”http://kodcloud.com/” target=”_blank” rel=”noopener”>可道云</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/ygnpn.jpg”>
</span>
<span class=”link”>
<a href=”http://www.kunkundashen.cn/” target=”_blank” rel=”noopener”>坤坤大神</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://www.503error.com/favicon.ico”>
</span>
<span class=”link”>
<a href=”https://www.503error.com/” target=”_blank” rel=”noopener”>张志明个人博客</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/x714o.jpg”>
</span>
<span class=”link”>
<a href=”http://www.hubwiz.com/” target=”_blank” rel=”noopener”>汇智网</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://www.xiongge.club/favicon.ico”>
</span>
<span class=”link”>
<a href=”https://www.xiongge.club/” target=”_blank” rel=”noopener”>熊哥club</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/3w4fe.png”>
</span>
<span class=”link”>
<a href=”https://zerlong.com/” target=”_blank” rel=”noopener”>知语</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/44hxf.png”>
</span>
<span class=”link”>
<a href=”http://redstonewill.com/” target=”_blank” rel=”noopener”>红色石头</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/8g1fk.jpg”>
</span>
<span class=”link”>
<a href=”http://www.laodong.me/” target=”_blank” rel=”noopener”>老董博客</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/wkaus.jpg”>
</span>
<span class=”link”>
<a href=”https://zhaoshuai.me/” target=”_blank” rel=”noopener”>碎念</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/pgo0r.jpg”>
</span>
<span class=”link”>
<a href=”https://www.chenwenguan.com/” target=”_blank” rel=”noopener”>陈文管的博客</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/kk82a.jpg”>
</span>
<span class=”link”>
<a href=”https://www.lxlinux.net/” target=”_blank” rel=”noopener”>良许Linux教程网</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/lj0t2.jpg”>
</span>
<span class=”link”>
<a href=”https://tanqingbo.cn/” target=”_blank” rel=”noopener”>IT码农</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/i8cdr.png”>
</span>
<span class=”link”>
<a href=”https://junyiseo.com/” target=”_blank” rel=”noopener”>均益个人博客</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/chwv2.png”>
</span>
<span class=”link”>
<a href=”https://brucedone.com/” target=”_blank” rel=”noopener”>大鱼的鱼塘</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/2y43o.png”>
</span>
<span class=”link”>
<a href=”http://bbs.nightteam.cn/” target=”_blank” rel=”noopener”>夜幕爬虫安全论坛</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/zvc3w.jpg”>
</span>
<span class=”link”>
<a href=”https://www.weishidong.com/” target=”_blank” rel=”noopener”>韦世东的技术专栏</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/ebudy.jpg”>
</span>
<span class=”link”>
<a href=”https://chuanjiabing.com/” target=”_blank” rel=”noopener”>穿甲兵技术社区</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/ala4d.jpg”>
</span>
<span class=”link”>
<a href=”http://www.91vps.com/” target=”_blank” rel=”noopener”>91VPS</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://qiniu.cuiqingcai.com/8y8y4.png”>
</span>
<span class=”link”>
<a href=”https://www.qg.net/” target=”_blank” rel=”noopener”>青果网络</a>
</span>
</li>
<li class=”friend”>
<span class=”logo”>
<img src=”https://cdn.zhishuyun.com/2023-09-24-153929.png”>
</span>
<span class=”link”>
<a href=”https://www.tiger.top/register.html?code=001″ target=”_blank” rel=”noopener”>Tiger AI指纹浏览器</a>
</span>
</li>
</ul>
</div>
<div class=”sidebar-panel sidebar-panel-tags sidebar-panel-active”>
<h4 class=”name”>
标签云
</h4>
<div class=”content”>
<a href=”/tags/2022/” style=”font-size: 19px;”>2022</a> <a href=”/tags/2048/” style=”font-size: 10px;”>2048</a> <a href=”/tags/ADSL/” style=”font-size: 10px;”>ADSL</a> <a href=”/tags/API/” style=”font-size: 14px;”>API</a> <a href=”/tags/Ajax/” style=”font-size: 12px;”>Ajax</a> <a href=”/tags/Bootstrap/” style=”font-size: 11px;”>Bootstrap</a> <a href=”/tags/Bug/” style=”font-size: 10px;”>Bug</a> <a href=”/tags/CDN/” style=”font-size: 10px;”>CDN</a> <a href=”/tags/CQC/” style=”font-size: 10px;”>CQC</a> <a href=”/tags/CSS/” style=”font-size: 10px;”>CSS</a> <a href=”/tags/CSS-%E5%8F%8D%E7%88%AC%E8%99%AB/” style=”font-size: 10px;”>CSS 反爬虫</a> <a href=”/tags/CV/” style=”font-size: 10px;”>CV</a> <a href=”/tags/ChatGPT/” style=”font-size: 10px;”>ChatGPT</a> <a href=”/tags/Cookie/” style=”font-size: 10px;”>Cookie</a> <a href=”/tags/Django/” style=”font-size: 10px;”>Django</a> <a href=”/tags/Eclipse/” style=”font-size: 11px;”>Eclipse</a> <a href=”/tags/Elasticsearch/” style=”font-size: 10px;”>Elasticsearch</a> <a href=”/tags/FTP/” style=”font-size: 10px;”>FTP</a> <a href=”/tags/Git/” style=”font-size: 10px;”>Git</a> <a href=”/tags/GitHub/” style=”font-size: 13px;”>GitHub</a> <a href=”/tags/HTML5/” style=”font-size: 10px;”>HTML5</a> <a href=”/tags/HTTP/” style=”font-size: 10px;”>HTTP</a> <a href=”/tags/Hexo/” style=”font-size: 10px;”>Hexo</a> <a href=”/tags/Hook/” style=”font-size: 10px;”>Hook</a> <a href=”/tags/IP/” style=”font-size: 10px;”>IP</a> <a href=”/tags/IT/” style=”font-size: 10px;”>IT</a> <a href=”/tags/JSON/” style=”font-size: 10px;”>JSON</a> <a href=”/tags/JSP/” style=”font-size: 10px;”>JSP</a> <a href=”/tags/JavaScript/” style=”font-size: 14px;”>JavaScript</a> <a href=”/tags/K8s/” style=”font-size: 10px;”>K8s</a> <a href=”/tags/LOGO/” style=”font-size: 10px;”>LOGO</a> <a href=”/tags/Linux/” style=”font-size: 10px;”>Linux</a> <a href=”/tags/MIUI/” style=”font-size: 10px;”>MIUI</a> <a href=”/tags/Markdown/” style=”font-size: 10px;”>Markdown</a> <a href=”/tags/Midjourney/” style=”font-size: 10px;”>Midjourney</a> <a href=”/tags/MongoDB/” style=”font-size: 11px;”>MongoDB</a> <a href=”/tags/MySQL/” style=”font-size: 10px;”>MySQL</a> <a href=”/tags/Mysql/” style=”font-size: 10px;”>Mysql</a> <a href=”/tags/NBA/” style=”font-size: 10px;”>NBA</a> <a href=”/tags/OCR/” style=”font-size: 10px;”>OCR</a> <a href=”/tags/OpenCV/” style=”font-size: 10px;”>OpenCV</a> <a href=”/tags/PHP/” style=”font-size: 11px;”>PHP</a> <a href=”/tags/PPT/” style=”font-size: 10px;”>PPT</a> <a href=”/tags/PS/” style=”font-size: 10px;”>PS</a> <a href=”/tags/Pathlib/” style=”font-size: 10px;”>Pathlib</a> <a href=”/tags/PhantomJS/” style=”font-size: 10px;”>PhantomJS</a> <a href=”/tags/Playwright/” style=”font-size: 10px;”>Playwright</a> <a href=”/tags/Python/” style=”font-size: 16px;”>Python</a> <a href=”/tags/Python-%E7%88%AC%E8%99%AB/” style=”font-size: 17px;”>Python 爬虫</a> <a href=”/tags/Python3/” style=”font-size: 11px;”>Python3</a> <a href=”/tags/Python3%E7%88%AC%E8%99%AB%E6%95%99%E7%A8%8B/” style=”font-size: 12px;”>Python3爬虫教程</a> <a href=”/tags/Pythonic/” style=”font-size: 10px;”>Pythonic</a> <a href=”/tags/Python%E7%88%AC%E8%99%AB/” style=”font-size: 18px;”>Python爬虫</a> <a href=”/tags/Python%E7%88%AC%E8%99%AB%E4%B9%A6/” style=”font-size: 12px;”>Python爬虫书</a> <a href=”/tags/Python%E7%88%AC%E8%99%AB%E6%95%99%E7%A8%8B/” style=”font-size: 15px;”>Python爬虫教程</a> <a href=”/tags/QQ/” style=”font-size: 10px;”>QQ</a> <a href=”/tags/RabbitMQ/” style=”font-size: 10px;”>RabbitMQ</a> <a href=”/tags/ReCAPTCHA/” style=”font-size: 10px;”>ReCAPTCHA</a> <a href=”/tags/Redis/” style=”font-size: 10px;”>Redis</a> <a href=”/tags/SAE/” style=”font-size: 10px;”>SAE</a> <a href=”/tags/SSH/” style=”font-size: 10px;”>SSH</a> <a href=”/tags/SVG/” style=”font-size: 10px;”>SVG</a> <a href=”/tags/Scrapy-redis/” style=”font-size: 10px;”>Scrapy-redis</a> <a href=”/tags/Scrapy%E5%88%86%E5%B8%83%E5%BC%8F/” style=”font-size: 10px;”>Scrapy分布式</a> <a href=”/tags/Selenium/” style=”font-size: 11px;”>Selenium</a> <a href=”/tags/Session/” style=”font-size: 10px;”>Session</a> <a href=”/tags/Shell/” style=”font-size: 10px;”>Shell</a> <a href=”/tags/TKE/” style=”font-size: 10px;”>TKE</a> <a href=”/tags/TXT/” style=”font-size: 10px;”>TXT</a> <a href=”/tags/Terminal/” style=”font-size: 10px;”>Terminal</a> <a href=”/tags/Ubuntu/” style=”font-size: 11px;”>Ubuntu</a> <a href=”/tags/VS-Code/” style=”font-size: 10px;”>VS Code</a> <a href=”/tags/Vs-Code/” style=”font-size: 10px;”>Vs Code</a> <a href=”/tags/Vue/” style=”font-size: 11px;”>Vue</a> <a href=”/tags/Web/” style=”font-size: 10px;”>Web</a> <a href=”/tags/Webpack/” style=”font-size: 10px;”>Webpack</a> <a href=”/tags/Web%E7%BD%91%E9%A1%B5/” style=”font-size: 10px;”>Web网页</a> <a href=”/tags/Windows/” style=”font-size: 10px;”>Windows</a> <a href=”/tags/Winpcap/” style=”font-size: 10px;”>Winpcap</a> <a href=”/tags/WordPress/” style=”font-size: 13px;”>WordPress</a> <a href=”/tags/XPath/” style=”font-size: 12px;”>XPath</a> <a href=”/tags/Youtube/” style=”font-size: 11px;”>Youtube</a> <a href=”/tags/aiohttp/” style=”font-size: 10px;”>aiohttp</a> <a href=”/tags/android/” style=”font-size: 10px;”>android</a> <a href=”/tags/ansible/” style=”font-size: 10px;”>ansible</a> <a href=”/tags/cocos2d-x/” style=”font-size: 10px;”>cocos2d-x</a> <a href=”/tags/dummy-change/” style=”font-size: 10px;”>dummy change</a> <a href=”/tags/e6/” style=”font-size: 10px;”>e6</a> <a href=”/tags/fitvids/” style=”font-size: 10px;”>fitvids</a> <a href=”/tags/git/” style=”font-size: 11px;”>git</a> <a href=”/tags/json/” style=”font-size: 10px;”>json</a> <a href=”/tags/js%E9%80%86%E5%90%91/” style=”font-size: 10px;”>js逆向</a> <a href=”/tags/kubernetes/” style=”font-size: 10px;”>kubernetes</a> <a href=”/tags/log/” style=”font-size: 10px;”>log</a> <a href=”/tags/log4j/” style=”font-size: 10px;”>log4j</a> <a href=”/tags/logging/” style=”font-size: 10px;”>logging</a> <a href=”/tags/matlab/” style=”font-size: 11px;”>matlab</a> <a href=”/tags/parsel/” style=”font-size: 10px;”>parsel</a> <a href=”/tags/pymongo/” style=”font-size: 10px;”>pymongo</a> <a href=”/tags/python/” style=”font-size: 20px;”>python</a>
</div>
<script>
const tagsColors = [‘#00a67c’, ‘#5cb85c’, ‘#d9534f’, ‘#567e95’, ‘#b37333’, ‘#f4843d’, ‘#15a287’]
const tagsElements = document.querySelectorAll(‘.sidebar-panel-tags .content a’)
tagsElements.forEach((item) => {
item.style.backgroundColor = tagsColors[Math.floor(Math.random() * tagsColors.length)]
})
</script>
</div>
</div>
</aside>
<div id=”sidebar-dimmer”></div>
</div>
</main>
<footer class=”footer”>
<div class=”footer-inner”>
<div class=”copyright”>
<span class=”author” itemprop=”copyrightHolder”>崔庆才丨静觅</span> © <span itemprop=”copyrightYear”>2023</span>
<span class=”with-love”>
<i class=”fa fa-heart”></i>
</span>
<a href=”https://cuiqingcai.com/sitemap.xml” style=”display:none” title=”爬虫教程” target=”_blank”><strong>爬虫教程</strong></a>
<a href=”https://cuiqingcai.com/sitemap.html” style=”display:none” title=”爬虫教程” target=”_blank”><strong>爬虫教程</strong></a>
<span class=”post-meta-divider”>|</span>
<span class=”post-meta-item-icon”>
<i class=”fa fa-chart-area”></i>
</span>
<span title=”站点总字数”>3.2m</span>
<span class=”post-meta-divider”>|</span>
<span class=”post-meta-item-icon”>
<i class=”fa fa-coffee”></i>
</span>
<span title=”站点阅读时长”>47:51</span>
</div>
<div class=”powered-by”>由 <span class=”exturl theme-link” data-url=”aHR0cHM6Ly9oZXhvLmlv”>Hexo</span> & <span class=”exturl theme-link” data-url=”aHR0cHM6Ly9waXNjZXMudGhlbWUtbmV4dC5vcmc=”>NexT.Pisces</span> 强力驱动 </div>
<div class=”beian”><span class=”exturl” data-url=”aHR0cHM6Ly9iZWlhbi5taWl0Lmdvdi5jbg==”>京ICP备18015597号-1 </span>
</div>
<script>
(function ()
{
function leancloudSelector(url)
{
url = encodeURI(url);
return document.getElementById(url).querySelector(‘.leancloud-visitors-count’);
}
function addCount(Counter)
{
var visitors = document.querySelector(‘.leancloud_visitors’);
var url = decodeURI(visitors.id);
var title = visitors.dataset.flagTitle;
Counter(‘get’, ‘/classes/Counter?where=’ + encodeURIComponent(JSON.stringify(
{
url
}))).then(response => response.json()).then((
{
results
}) =>
{
if (results.length > 0)
{
var counter = results[0];
leancloudSelector(url).innerText = counter.time + 1;
Counter(‘put’, ‘/classes/Counter/’ + counter.objectId,
{
time:
{
‘__op’: ‘Increment’,
‘amount’: 1
}
}).catch(error =>
{
console.error(‘Failed to save visitor count’, error);
});
}
else
{
Counter(‘post’, ‘/classes/Counter’,
{
title,
url,
time: 1
}).then(response => response.json()).then(() =>
{
leancloudSelector(url).innerText = 1;
}).catch(error =>
{
console.error(‘Failed to create’, error);
});
}
}).catch(error =>
{
console.error(‘LeanCloud Counter Error’, error);
});
}
function showTime(Counter)
{
var visitors = document.querySelectorAll(‘.leancloud_visitors’);
var entries = […visitors].map(element =>
{
return decodeURI(element.id);
});
Counter(‘get’, ‘/classes/Counter?where=’ + encodeURIComponent(JSON.stringify(
{
url:
{
‘$in’: entries
}
}))).then(response => response.json()).then((
{
results
}) =>
{
for (let url of entries)
{
let target = results.find(item => item.url === url);
leancloudSelector(url).innerText = target ? target.time : 0;
}
}).catch(error =>
{
console.error(‘LeanCloud Counter Error’, error);
});
}
let
{
app_id,
app_key,
server_url
} = {
“enable”: true,
“app_id”: “6X5dRQ0pnPWJgYy8SXOg0uID-gzGzoHsz”,
“app_key”: “ziLDVEy73ne5HtFTiGstzHMS”,
“server_url”: “https://6x5drq0p.lc-cn-n1-shared.com”,
“security”: false
};
function fetchData(api_server)
{
var Counter = (method, url, data) =>
{
return fetch(`${api_server}/1.1${url}`,
{
method,
headers:
{
‘X-LC-Id’: app_id,
‘X-LC-Key’: app_key,
‘Content-Type’: ‘application/json’,
},
body: JSON.stringify(data)
});
};
if (CONFIG.page.isPost)
{
if (CONFIG.hostname !== location.hostname) return;
addCount(Counter);
}
else if (document.querySelectorAll(‘.post-title-link’).length >= 1)
{
showTime(Counter);
}
}
let api_server = app_id.slice(-9) !== ‘-MdYXbMMI’ ? server_url : `https://${app_id.slice(0, 8).toLowerCase()}.api.lncldglobal.com`;
if (api_server)
{
fetchData(api_server);
}
else
{
fetch(‘https://app-router.leancloud.cn/2/route?appId=’ + app_id).then(response => response.json()).then((
{
api_server
}) =>
{
fetchData(‘https://’ + api_server);
});
}
})();
</script>
</div>
<div class=”footer-stat”>
<span id=”cnzz_stat_icon_1279355174″></span>
<script type=”text/javascript”>document.write(unescape(“%3Cspan id=’cnzz_stat_icon_1279355174’%3E%3C/span%3E%3Cscript src=’https://v1.cnzz.com/z_stat.php%3Fid%3D1279355174%26online%3D1%26show%3Dline’ type=’text/javascript’%3E%3C/script%3E”));</script>
</div>
</footer>
</div>
<script src=”//cdn.jsdelivr.net/npm/animejs@3.2.1/lib/anime.min.js”></script>
<script src=”//cdn.jsdelivr.net/npm/pangu@4/dist/browser/pangu.min.js”></script>
<script src=”/js/utils.js”></script>
<script src=”/.js”></script>
<script src=”/js/schemes/pisces.js”></script>
<script src=”/.js”></script>
<script src=”/js/next-boot.js”></script>
<script src=”/.js”></script>
<script>
(function ()
{
var canonicalURL, curProtocol;
//Get the <link> tag
var x = document.getElementsByTagName(“link”);
//Find the last canonical URL
if (x.length > 0)
{
for (i = 0; i < x.length; i++)
{
if (x[i].rel.toLowerCase() == ‘canonical’ && x[i].href)
{
canonicalURL = x[i].href;
}
}
}
//Get protocol
if (!canonicalURL)
{
curProtocol = window.location.protocol.split(‘:’)[0];
}
else
{
curProtocol = canonicalURL.split(‘:’)[0];
}
//Get current URL if the canonical URL does not exist
if (!canonicalURL) canonicalURL = window.location.href;
//Assign script content. Replace current URL with the canonical URL
! function ()
{
var e = /([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,
r = canonicalURL,
t = document.referrer;
if (!e.test(r))
{
var n = (String(curProtocol).toLowerCase() === ‘https’) ? “https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif” : “//api.share.baidu.com/s.gif”;
t ? (n += “?r=” + encodeURIComponent(document.referrer), r && (n += “&l=” + r)) : r && (n += “?l=” + r);
var i = new Image;
i.src = n
}
}(window);
})();
</script>
<script src=”/js/local-search.js”></script>
<script src=”/.js”></script>
<link rel=”stylesheet” href=”//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css”>
<script>
NexT.utils.loadComments(document.querySelector(‘#gitalk-container’), () =>
{
NexT.utils.getScript(‘//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js’, () =>
{
var gitalk = new Gitalk(
{
clientID: ‘4c86ce1d7c4fbb3b277c’,
clientSecret: ‘4927beb0f90e2c07e66c99d9d2529cf3eb8ac8e4’,
repo: ‘Blog’,
owner: ‘germey’,
admin: [‘germey’],
id: ‘4163955d54d07639fa4d37690d2d8f74’,
language: ‘zh-CN’,
distractionFreeMode: true
});
gitalk.render(‘gitalk-container’);
}, window.Gitalk);
});
</script>
</body>
</html>
来源:https://cuiqingcai.com/2529.html