商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何在Debian上使用Node.js进行爬虫开发

如何在Debian上使用Node.js进行爬虫开发

  发布于2026-07-26 阅读(0)

扫一扫,手机访问

在Debian上做爬虫开发,Node.js是个相当顺手的工具。具体怎么搭起来?下面一步步拆解,保证清晰好上手。

如何在Debian上使用Node.js进行爬虫开发

1. 安装Node.js

先解决环境问题。Debian系统上装Node.js,推荐用NodeSource的二进制分发库,版本随你挑,这里以14.x为例。

使用NodeSource安装Node.js

  1. 添加NodeSource库:打开终端,跑下面这条命令,把14.x版本的源加进去(想换其他版本,改一下URL里的版本号就行):

    curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
  2. 安装Node.js:接着执行这条,Node.js和npm一次性搞定:

    sudo apt-get install -y nodejs
  3. 验证安装:装完检查一下,跑下面两个命令,看到版本号就说明成了:

    node -v
    npm -v

2. 创建一个新的Node.js项目

工作目录里建个新项目,名字随便起,比如叫my-crawler

mkdir my-crawler
cd my-crawler
npm init -y

npm init -y会快速生成一个默认的package.json,省得手动填一堆信息。

3. 安装爬虫相关的库

发HTTP请求用axios(或者request,不过axios更现代),解析HTML用cheerio——这两个是爬虫黄金搭档。

安装axios和cheerio

npm install axios cheerio

装完就能在项目里直接require了。

4. 编写爬虫代码

新建一个index.js,把下面这段代码贴进去。这是一个最简示例:抓取目标网页的标题并打印出来。

const axios = require('axios');
const cheerio = require('cheerio');

async function crawl(url) {
  try {
    const response = await axios.get(url);
    const html = response.data;
    const $ = cheerio.load(html);
    const title = $('title').text();
    console.log(`Title of the page: ${title}`);
  } catch (error) {
    console.error(`Error fetching the page: ${error.message}`);
  }
}

// 替换为你想要爬取的URL
crawl('https://example.com');

逻辑很直白:axios拿到页面HTML,cheerio解析DOM,然后提取</code>标签里的文本。当然,实际爬虫要处理的东西多得多,这只是个起步。</p> <h3>5. 运行爬虫</h3> <p>终端里跑下面这条命令,就能看到效果:</p> <pre class="hljs"><code>node index.js</code></pre> <p>如果一切正常,控制台会输出那个页面的标题。</p> <h3>6. 处理更复杂的爬虫任务</h3> <p>真实场景往往没这么简单,你可能需要面对下面这些情况:</p> <ul> <li><strong>分页爬取</strong>:用循环加条件判断,一页一页翻过去,直到没有下一页为止。</li> <li><strong>异步请求</strong>:用<code>Promise.all</code>或者<code>async/await</code>并行处理多个URL,能大幅提升效率。</li> <li><strong>反爬虫机制</strong>:设置合适的请求头(比如<code>User-Agent</code>)、使用袋里IP、控制请求频率(加个延时),这些是常规操作。</li> </ul> <p>每个点展开都能写一篇长文,但核心思路就这些——遇到具体问题再针对性解决。</p> <h3>7. 部署爬虫</h3> <p>要是想把爬虫长期挂在<a href="https://www.fastadmin.net/go/aliyun" target="_blank">服务器</a>上跑,可以用PM2这个进程管理工具,它能帮你自动重启、记录日志,省心不少:</p> <pre class="hljs"><code>npm install pm2 -g pm2 start index.js --name my-crawler</code></pre> <p>跑完这条命令,爬虫就在后台默默工作了,哪怕终端关了也不影响。</p> <h3>总结</h3> <p>从装Node.js到写一个能跑起来的爬虫,再到应对复杂场景和部署,以上步骤基本覆盖了Debian上用Node.js做爬虫开发的全流程。实际项目里可以根据需求灵活扩展,比如加个数据库存数据、用Puppeteer处理动态页面,但底层逻辑还是这些。动手试试,遇到坑再回来翻翻这篇文章,应该能解决大部分问题。</p> </div> <div class="laiyuan"> 本文转载于:https://www.yisu.com/ask/59778258.html 如有侵犯,请联系zhengruancom@outlook.com删除。<br/>免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。 </div> <div class="zrSypBox"> <p>上一篇:<a href="https://www.zhengruan.com/news/719754" title="如何在Debian中配置Node.js日志输出" class="aRed">如何在Debian中配置Node.js日志输出</a></p> <p class="right">下一篇:<a href="https://www.zhengruan.com/news/719756" title="如何在Debian中优化Node.js网络传输" class="aRed">如何在Debian中优化Node.js网络传输</a></p> <div class="clear"></div> </div> <div class="zrDtxwBox"> <div class="zrByddTitle"> <span><h2>产品推荐</h2></span> </div> <ul class="zrTxdmList3"> <li class="one"> <div class="zrTxdmCont5"> <div class="zrTxdmImg4 dianji"> <a href="https://www.zhengruan.com/news/soft69" class="img"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20200428/cd14258f0172a172f8a80798c38c1577.jpg" alt="DAEMON Tools Lite 10"></a> <span class="xianshi"> <p>售后无忧</p> <em><a href="https://www.zhengruan.com/news/soft69" title="立即购买>">立即购买></a></em> </span> </div> <div class="zrTxdmIn4"> <dl> <dt><a href="https://www.zhengruan.com/news/soft69" title="DAEMON Tools Lite 10【序列号终身授权 + 中文版 + Win】" class="aBlack">DAEMON Tools Lite 10【序列号终身授权 + 中文版 + Win】</a></dt> <dd> <span>¥150.00</span> <p>office旗舰店</p> </dd> </dl> </div> </div> </li> <li > <div class="zrTxdmCont5"> <div class="zrTxdmImg4 dianji"> <a href="https://www.zhengruan.com/news/soft67" class="img"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20200428/fbf473d4d30833324962e441c0f18265.jpg" alt="DAEMON Tools Ultra 5"></a> <span class="xianshi"> <p>售后无忧</p> <em><a href="https://www.zhengruan.com/news/soft67" title="立即购买>">立即购买></a></em> </span> </div> <div class="zrTxdmIn4"> <dl> <dt><a href="https://www.zhengruan.com/news/soft67" title="DAEMON Tools Ultra 5【序列号终身授权 + 中文版 + Win】" class="aBlack">DAEMON Tools Ultra 5【序列号终身授权 + 中文版 + Win】</a></dt> <dd> <span>¥198.00</span> <p>office旗舰店</p> </dd> </dl> </div> </div> </li> <li > <div class="zrTxdmCont5"> <div class="zrTxdmImg4 dianji"> <a href="https://www.zhengruan.com/news/soft68" class="img"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20200428/1ae250399abf4ff584d86d52c79b5bb6.jpg" alt="DAEMON Tools Pro 8"></a> <span class="xianshi"> <p>售后无忧</p> <em><a href="https://www.zhengruan.com/news/soft68" title="立即购买>">立即购买></a></em> </span> </div> <div class="zrTxdmIn4"> <dl> <dt><a href="https://www.zhengruan.com/news/soft68" title="DAEMON Tools Pro 8【序列号终身授权 + 中文版 + Win】" class="aBlack">DAEMON Tools Pro 8【序列号终身授权 + 中文版 + Win】</a></dt> <dd> <span>¥189.00</span> <p>office旗舰店</p> </dd> </dl> </div> </div> </li> <li > <div class="zrTxdmCont5"> <div class="zrTxdmImg4 dianji"> <a href="https://www.zhengruan.com/news/soft29" class="img"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20200428/77d3c04866e1b842d9b6ff0e9368bdf8.jpg" alt="CorelDRAW X8 简体中文"></a> <span class="xianshi"> <p>售后无忧</p> <em><a href="https://www.zhengruan.com/news/soft29" title="立即购买>">立即购买></a></em> </span> </div> <div class="zrTxdmIn4"> <dl> <dt><a href="https://www.zhengruan.com/news/soft29" title="CorelDRAW X8 简体中文【标准版 + Win】" class="aBlack">CorelDRAW X8 简体中文【标准版 + Win】</a></dt> <dd> <span>¥1788.00</span> <p>office旗舰店</p> </dd> </dl> </div> </div> </li> <div class="clear"></div> </ul> </div> </div> <ul class="zrZbrjList" style="padding-top:10px;"> <li> <a href="https://www.zhengruan.com/news/736200" class="img1" title="using namespace 使用中遇到的问题怎么解决"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260807/178605885655125.webp" alt="using namespace 使用中遇到的问题怎么解决"> <span>正版软件</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/736200" title="using namespace 使用中遇到的问题怎么解决" class="aBlack">using namespace 使用中遇到的问题怎么解决</a></dt> <dd class="cont1">命名空间的基本概念与常见引入问题在C++等编程语言中,命名空间(namespace)是一种将代码标识符(如变量、函数、类名)封装在特定名称下的机制,其主要目的是避免命名冲突,尤其是在大型项目或使用多个第三方库时。使用“using namespace”指令可以将指定命名空间中的所有名称引入当前作用域,</dd> <dd class="cont2"> <!--<span class="cont1"><img src="zrimages/example/img10.png"/>山外的鸭子哥</span>--> <span class="cont2"><b></b>8天前</span> <span class="cont4"><b></b>0</span> </dd> </dl> </li> <li> <a href="https://www.zhengruan.com/news/736199" class="img1" title="c语言函数递归 实操经验总结:这些技巧很实用"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260807/178605879214771.webp" alt="c语言函数递归 实操经验总结:这些技巧很实用"> <span>正版软件</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/736199" title="c语言函数递归 实操经验总结:这些技巧很实用" class="aBlack">c语言函数递归 实操经验总结:这些技巧很实用</a></dt> <dd class="cont1">理解递归的基本原理在C语言中,递归是一种函数调用自身的编程技术。要掌握它,首先需要理解其核心思想:将一个复杂的大问题,分解为一个或几个与原问题相似但规模更小的子问题,直到子问题足够简单,可以直接求解。这个过程通常包含两个关键部分:递归出口和递归体。递归出口定义了问题何时不再继续分解,即最简单、可直接</dd> <dd class="cont2"> <!--<span class="cont1"><img src="zrimages/example/img10.png"/>山外的鸭子哥</span>--> <span class="cont2"><b></b>8天前</span> <span class="cont4"><b></b>0</span> </dd> </dl> </li> <li> <a href="https://www.zhengruan.com/news/736198" class="img1" title="c语言函数递归 怎么选?常见方案对比分析"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260807/178605874187563.webp" alt="c语言函数递归 怎么选?常见方案对比分析"> <span>正版软件</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/736198" title="c语言函数递归 怎么选?常见方案对比分析" class="aBlack">c语言函数递归 怎么选?常见方案对比分析</a></dt> <dd class="cont1">递归函数的基本概念与适用场景在C语言编程中,递归是一种函数调用自身的编程技巧。它并非适用于所有问题,但在处理某些具有自相似结构的问题时,能提供极其清晰和优雅的解决方案。递归的核心思想是将一个大规模问题分解为一个或多个同类型但规模更小的子问题,直到子问题简单到可以直接求解。典型的适用场景包括树形结构的</dd> <dd class="cont2"> <!--<span class="cont1"><img src="zrimages/example/img10.png"/>山外的鸭子哥</span>--> <span class="cont2"><b></b>8天前</span> <span class="cont4"><b></b>0</span> </dd> </dl> </li> <li> <a href="https://www.zhengruan.com/news/736197" class="img1" title="Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260807/178605862499192.webp" alt="Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解"> <span>正版软件</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/736197" title="Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解" class="aBlack">Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解</a></dt> <dd class="cont1">理解内存管理的基石在Objective-C的编程世界中,内存管理是开发者必须掌握的核心技能之一。它直接关系到应用的性能、稳定性与资源利用效率。与一些采用自动垃圾回收机制的语言不同,Objective-C在很长一段时间里,依赖一套基于引用计数的、需要开发者部分介入的管理规则。这套规则的核心思想是明确的</dd> <dd class="cont2"> <!--<span class="cont1"><img src="zrimages/example/img10.png"/>山外的鸭子哥</span>--> <span class="cont2"><b></b>8天前</span> <span class="cont4"><b></b>0</span> </dd> </dl> </li> <li> <a href="https://www.zhengruan.com/news/736196" class="img1" title="如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260807/178605861766536.webp" alt="如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏"> <span>正版软件</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/736196" title="如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏" class="aBlack">如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏</a></dt> <dd class="cont1">理解 dealloc 的角色与时机在 iOS 应用开发中,内存管理是保障应用性能与稳定性的基石。dealloc 方法是 Objective-C 中对象生命周期结束时的关键回调,它标志着对象即将被系统回收内存。正确理解其触发时机至关重要:当一个对象的引用计数降为零时,运行时系统会自动调用该对象的 de</dd> <dd class="cont2"> <!--<span class="cont1"><img src="zrimages/example/img10.png"/>山外的鸭子哥</span>--> <span class="cont2"><b></b>8天前</span> <span class="cont4"><b></b>0</span> </dd> </dl> </li> </ul> </div> <!--左边 end--> <!--右边--> <div class="zrZuoRight"> <!-- <div class="zrBanner"><a href="#"><img src="zrimages/example/img11.png"/></a></div>--> <div class="zrByddBox"> <div class="zrByddTitle"><span><h2>最新发布</h2></span></div> <ul class="zrByddList"> <li> <a href="https://www.zhengruan.com/news/1561" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/upload/news/20191220/1576825692n90594/2019-12-20-15-08-12-5dfc735c5581a-1.jpg" alt="微软公布全新开源编程语言Bosque:正则化 告别for循环"> <span>1</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/1561" title="微软公布全新开源编程语言Bosque:正则化 告别for循环" class="aBlack">微软公布全新开源编程语言Bosque:正则化 告别for循环</a></dt> <dd><b></b>2430天前</dd> </dl> <div class="clear"></div> </li> <li> <a href="https://www.zhengruan.com/news/1562" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/upload/news/20191220/1576825776n3925/2019-12-20-15-09-36-5dfc73b032cee-1.jpg" alt="微软推出最新程序语言Bosque 以Functors取代Loop循环"> <span>2</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/1562" title="微软推出最新程序语言Bosque 以Functors取代Loop循环" class="aBlack">微软推出最新程序语言Bosque 以Functors取代Loop循环</a></dt> <dd><b></b>2430天前</dd> </dl> <div class="clear"></div> </li> <li> <a href="https://www.zhengruan.com/news/467167" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20250908/175730816420885.jpg" alt="C语言中\n是什么意思?换行转义字符详解"> <span>3</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/467167" title="C语言中\n是什么意思?换行转义字符详解" class="aBlack">C语言中\n是什么意思?换行转义字符详解</a></dt> <dd><b></b>341天前</dd> </dl> <div class="clear"></div> </li> <li> <a href="https://www.zhengruan.com/news/63159" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="" alt="探析Spring Boot框架的优点和特色"> <span>4</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/63159" title="探析Spring Boot框架的优点和特色" class="aBlack">探析Spring Boot框架的优点和特色</a></dt> <dd><b></b>657天前</dd> </dl> <div class="clear"></div> </li> <li> <a href="https://www.zhengruan.com/news/85739" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="" alt="深入比较PyCharm社区版和专业版的功能"> <span>5</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/85739" title="深入比较PyCharm社区版和专业版的功能" class="aBlack">深入比较PyCharm社区版和专业版的功能</a></dt> <dd><b></b>595天前</dd> </dl> <div class="clear"></div> </li> <li> <a href="https://www.zhengruan.com/news/89680" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="" alt="专家观点:谷歌是否会继续支持Golang的探讨"> <span>6</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/89680" title="专家观点:谷歌是否会继续支持Golang的探讨" class="aBlack">专家观点:谷歌是否会继续支持Golang的探讨</a></dt> <dd><b></b>570天前</dd> </dl> <div class="clear"></div> </li> <li> <a href="https://www.zhengruan.com/news/16338" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20230427/168257005787096.jpg" alt="提升 Python 编程效率:推荐使用 VSCode 的 Python 扩展"> <span>7</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/16338" title="提升 Python 编程效率:推荐使用 VSCode 的 Python 扩展" class="aBlack">提升 Python 编程效率:推荐使用 VSCode 的 Python 扩展</a></dt> <dd><b></b>1203天前</dd> </dl> <div class="clear"></div> </li> <li> <a href="https://www.zhengruan.com/news/16470" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20230427/168257472829656.jpg" alt="Python实战教程:批量转换多种音乐格式"> <span>8</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/16470" title="Python实战教程:批量转换多种音乐格式" class="aBlack">Python实战教程:批量转换多种音乐格式</a></dt> <dd><b></b>1203天前</dd> </dl> <div class="clear"></div> </li> <li> <a href="https://www.zhengruan.com/news/41129" class="img"> <img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="" alt="如何在在线答题中实现试卷的自动批改和自动评分"> <span>9</span> </a> <dl> <dt><a href="https://www.zhengruan.com/news/41129" title="如何在在线答题中实现试卷的自动批改和自动评分" class="aBlack">如何在在线答题中实现试卷的自动批改和自动评分</a></dt> <dd><b></b>1030天前</dd> </dl> <div class="clear"></div> </li> </ul> </div> <div class="zrRmgzBox" style="margin-top:20px;"> <div class="zrByddTitle"> <span><h2>相关推荐</h2></span> </div> <ul class="zrXwdtList"> <li><a href="https://www.zhengruan.com/news/736200" title="using namespace 使用中遇到的问题怎么解决" class="aBlack">using namespace 使用中遇到的问题怎么解决</a></li> <li><a href="https://www.zhengruan.com/news/736199" title="c语言函数递归 实操经验总结:这些技巧很实用" class="aBlack">c语言函数递归 实操经验总结:这些技巧很实用</a></li> <li><a href="https://www.zhengruan.com/news/736198" title="c语言函数递归 怎么选?常见方案对比分析" class="aBlack">c语言函数递归 怎么选?常见方案对比分析</a></li> <li><a href="https://www.zhengruan.com/news/736197" title="Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解" class="aBlack">Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解</a></li> <li><a href="https://www.zhengruan.com/news/736196" title="如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏" class="aBlack">如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏</a></li> <li><a href="https://www.zhengruan.com/news/736195" title="深入理解 Objective-C 中的 dealloc 方法:内存管理核心机制" class="aBlack">深入理解 Objective-C 中的 dealloc 方法:内存管理核心机制</a></li> <li><a href="https://www.zhengruan.com/news/736194" title="理解 native2ascii:Java 国际化开发中的字符编码工具" class="aBlack">理解 native2ascii:Java 国际化开发中的字符编码工具</a></li> <li><a href="https://www.zhengruan.com/news/736193" title="如何使用 native2ascii 转换中文字符为 Unicode 转义序列" class="aBlack">如何使用 native2ascii 转换中文字符为 Unicode 转义序列</a></li> <li><a href="https://www.zhengruan.com/news/736192" title="Java native2ascii 命令详解:解决属性文件乱码问题" class="aBlack">Java native2ascii 命令详解:解决属性文件乱码问题</a></li> </ul> </div> <div class="zrRmgzBox" style="margin-top:30px;"> <div class="zrByddTitle"> <span><h2>热门关注</h2></span> </div> <ul class="zrRmgzList"> <li> <span><a href="https://www.zhengruan.com/news/soft745479" title="PixPin"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260814/178670218862435.png" alt="PixPin"></a></span> <dl> <dt><a href="https://www.zhengruan.com/news/soft745479" title="PixPin" class="aBlack">PixPin</a></dt> <dd class="unstar unstar5"></dd> <dd class="cont1">¥8.00-¥8.00</dd> </dl> <div class="clear"></div> </li> <li> <span><a href="https://www.zhengruan.com/news/soft745478" title="Total Uninstall"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260814/178670216712038.png" alt="Total Uninstall"></a></span> <dl> <dt><a href="https://www.zhengruan.com/news/soft745478" title="Total Uninstall" class="aBlack">Total Uninstall</a></dt> <dd class="unstar unstar4"></dd> <dd class="cont1">¥29.00-¥29.00</dd> </dl> <div class="clear"></div> </li> <li> <span><a href="https://www.zhengruan.com/news/soft745474" title="酷呆桌面"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260814/178670214025347.png" alt="酷呆桌面"></a></span> <dl> <dt><a href="https://www.zhengruan.com/news/soft745474" title="酷呆桌面" class="aBlack">酷呆桌面</a></dt> <dd class="unstar unstar4"></dd> <dd class="cont1">¥31.50-¥35.00</dd> </dl> <div class="clear"></div> </li> <li> <span><a href="https://www.zhengruan.com/news/soft745473" title="ByePhotos"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260814/178670212958742.png" alt="ByePhotos"></a></span> <dl> <dt><a href="https://www.zhengruan.com/news/soft745473" title="ByePhotos" class="aBlack">ByePhotos</a></dt> <dd class="unstar unstar5"></dd> <dd class="cont1">¥31.50-¥45.00</dd> </dl> <div class="clear"></div> </li> <li> <span><a href="https://www.zhengruan.com/news/soft745472" title="TTime"><img onerror="this.src='https://www.zhengruan.com/statics/www/zrimages/404_bg.png'" src="https://www.zhengruan.com/uploads/20260814/178670211915223.png" alt="TTime"></a></span> <dl> <dt><a href="https://www.zhengruan.com/news/soft745472" title="TTime" class="aBlack">TTime</a></dt> <dd class="unstar unstar4"></dd> <dd class="cont1">¥3.00-¥3.00</dd> </dl> <div class="clear"></div> </li> </ul> </div> </div> <!--右边 end--> <div class="clear"></div> </div> <!--主体 end--> <!--底部--> <!--底部--> <div class="zrFoot"> <div class="zrFootIn"> <div class="zrFootMsg">网站备案号: <a href="https://beian.miit.gov.cn/" target="" style="text-decoration: none;"> <font color="#9b9db0">苏ICP备2026018738号-1 联系邮箱:bd@zhengruan.com<br> Copyright ©2018-2020</font> </a> </div> </div> </div> <!--底部 end--> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?3835539565b311d85319cd21da8fd0d9"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!--底部 end--> <script> function countView(){ $.ajax({ type: "post", url: "/countView?&time="+new Date().getTime(), data:{'type':'news','id':"719755"}, async:false, dataType: "json", success: function(result){ console.log(result) }, error:function(){ } }); } function code_highlight() { SyntaxHighlighter.all() } $(function(){ code_highlight(); countView(); $("#qrcode").qrcode({width:150,height:150,text:"https://m.zhengruan.com/news/719755"}) }) </script> </body> </html>