分别利用phantomjs和slimerjs实现网页的爬取和截图代码逻辑

简介: 文章介绍了如何使用PhantomJS和SlimerJS两种工具实现网页的爬取和截图,提供了具体的代码示例和执行命令。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

phantomjs实现

具体步骤如下

1. 下载对应系统版本的phantomjs到本地,例如我的phantomjs-2.1.1-macosx

2.编写爬取逻辑代码phantomjs.js:

var page = require('webpage').create();

page.settings.userAgent = 'SpecialAgent';
page.settings.javascriptEnabled = true;

phantom.cutputEncoding = 'gbk';
page.open("https://www.jianshu.com", function(status) {
  if(status === "success") {
    console.log("Page success");
    page.render("jianshu.png");
  } else {
    console.log("Page failed to load.");
  };
phantom.exit();
});

3,执行

/Users/***/Desktop/phantomjs-2.1.1-macosx/bin/phantomjs phantomjs.js

slimerjs实现

具体步骤如下

1. 安装步骤命令:

npm install slimerjs
npm install node-slimerjs\n
./node_modules/.bin/slimerjs -v

2.编写爬取逻辑代码slimerjs.js:

var webpage = require('webpage').create();

webpage
    .open('https://davidwalsh.name')
    .then(function(){
   
      webpage.viewportSize = {
    width: 1042, height: 2048 };
      webpage.render('dwb.png', {
    onlyViewport: true });
      slimer.exit()
    });

3. 执行命令

./node_modules/.bin/slimerjs src/slimerjs.js
相关文章
|
移动开发 小程序 API
微信外部浏览器或短信链接唤起微信小程序的解决方案
微信外部浏览器或短信链接唤起微信小程序的解决方案
2807 1
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
1333 3
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
消息中间件 缓存 监控
在PHP中,实现多线程
在PHP中,实现多线程
374 6
|
机器学习/深度学习 数据可视化 自动驾驶
YOLO11-seg分割如何训练自己的数据集(道路缺陷)
本文介绍了如何使用自己的道路缺陷数据集训练YOLOv11-seg模型,涵盖数据集准备、模型配置、训练过程及结果可视化。数据集包含4029张图像,分为训练、验证和测试集。训练后,模型在Mask mAP50指标上达到0.673,展示了良好的分割性能。
5585 4
【漏洞复现】探索 Python 中原型链的利用与污染
在本文中,我们从实际应用的角度出发,深入探讨原型链的利用方式,并剖析可能导致代码安全漏洞和意外行为的污染情形,同时希望读者深刻了解 Python 中原型链的概念、机制以及潜在的安全风险。
|
弹性计算 运维 负载均衡
构建高可用性的分布式系统:技术与策略
【7月更文挑战第1天】构建高可用分布式系统涉及负载均衡、容错处理和数据一致性等关键技术,遵循冗余、模块化及异步设计原则,并通过监控告警、自动化运维和弹性伸缩策略确保稳定性。
|
搜索推荐 Java 索引
Java中的服务器端渲染(SSR)
Java中的服务器端渲染(SSR)
|
缓存 搜索推荐 Java
Java中的服务器端渲染(SSR)原理与实现
Java中的服务器端渲染(SSR)原理与实现
|
人工智能 API 开发者
免费使用Kimi的API接口,kimi-free-api真香
今年AI应用兴起,各类智能体涌现,但API免费额度有限。为解决这一问题,GitHub上的[kimi-free-api](https://github.com/LLM-Red-Team/kimi-free-api)项目提供了方便,支持高速流式输出、多轮对话等,与ChatGPT接口兼容。此外,还有其他大模型的免费API转换项目,如跃问StepChat、阿里通义Qwen等。该项目可帮助用户免费体验,通过Docker-compose轻松部署。只需获取refresh_token,即可开始使用。这个开源项目促进了AI学习和开发,为探索AI潜力提供了新途径。
3367 3
|
监控 关系型数据库 MySQL
『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程
『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程
1051 2