首页 > 其他分享 >Playwright轻松保存抓取的内容,快速整理数据

Playwright轻松保存抓取的内容,快速整理数据

时间:2023-09-01 14:33:54浏览次数:26  
标签:Playwright const await 抓取 轻松 javascriptconst page

作为一名爱好编程的程序员,你是否曾经遇到过需要抓取网页上的数据却无从下手的情况?Playwright是一款优秀的自动化测试工具,可以帮助你轻松地抓取网页上的内容,并且还可以将抓取到的数据进行保存。本文将详细介绍如何使用Playwright保存抓取的内容,希望对大家有所帮助。

一、安装Playwright

在开始使用Playwright之前,我们需要先安装它。在命令行中输入以下命令即可完成安装:

bashnpm i playwright

二、启动浏览器

安装完成后,我们需要启动一个浏览器实例。在本文中,我们以Chromium为例进行演示。在命令行中输入以下命令:

javascriptconst { chromium }= require('playwright');(async ()=>{ const browser = await chromium.launch(); const context = await browser.newContext(); const page = await context.newPage();//这里可以写入一些操作步骤 await browser.close();})();

三、访问网站

启动浏览器实例后,我们需要访问需要抓取数据的网站。在Playwright中,可以使用page.goto(url)方法来实现对网站的访问。例如:

javascriptawait page.goto('');

四、查找元素

在访问网站后,我们需要找到需要抓取的数据所在的元素。Playwright提供了多种查找元素的方法,例如:

1.通过ID查找

javascriptconst element = await page.$('#elementId');

2.通过class查找

javascriptconst element = await page.$('.elementClass');

3.通过标签名查找

javascriptconst element = await page.$('div');

五、获取元素属性

在找到需要抓取的元素后,我们需要获取它的属性值。Playwright提供了多种获取元素属性值的方法,例如:

1.获取文本内容

javascriptconst textContent = await element.textContent();

2.获取属性值

javascriptconst attributeValue = await element.getAttribute('attributeName');

六、保存抓取到的内容

在获取到需要抓取的内容后,我们可以将它们保存到文件中。在Playwright中,可以使用以下代码将抓取到的内容保存为txt文件:

javascriptconst fs = require('fs');fs.writeFile('data.txt', content,(err)=>{ if (err) throw err; console.log('The file has been saved!');});

七、完整代码示例

下面是一个完整的代码示例,演示了如何使用Playwright从百度搜索页面上抓取所有搜索结果的标题,并将它们保存到txt文件中。

javascriptconst { chromium }= require('playwright');const fs = require('fs');(async ()=>{ const browser = await chromium.launch(); const context = await browser.newContext(); const page = await context.newPage();//访问百度搜索页面 await page.goto('');//获取搜索结果标题 const titles = await page.$$eval('.result .title a',(links)=>{ return links.map(link => link.textContent.trim());});//将搜索结果保存到txt文件中 fs.writeFile('titles.txt', titles.join('\n'),(err)=>{ if (err) throw err; console.log('The file has been saved!');}); await browser.close();})();

八、总结

本文介绍了如何使用Playwright保存抓取的内容。我们可以通过启动浏览器实例、访问网站、查找元素、获取元素属性和保存内容等步骤,轻松地抓取网页上的数据,并将它们保存到文件中。希望这篇文章能够对大家有所帮助。

标签:Playwright,const,await,抓取,轻松,javascriptconst,page
From: https://www.cnblogs.com/gaoyanbing/p/17671809.html

相关文章

  • 轻松理解Vue和React的异同
             在前端界,Vue和React最近几年一直是我们开发前端项目的两个主流选项。但作为一个想要学习使用框架最快速开发应用的新人我应该先学习哪个?或者说当我们在开发一个新项目时,到底具体是应该选择用Vue呢?还是应该选择用React?这两个的区别是什么?联系是什么?这篇......
  • 揭秘微信过期文件找回:如何轻松找回已过期的珍贵信息
    由于微信的“天才设计”,所以对于微信中的文件而言,只有7天的寿命。但是,微信清理的只是缓存信息,真正的文件、图片或者视频还是保留在你的微信中的,简单操作即可找回!那么,微信显示文件已过期或者被清理怎么找回呢?其实方法不难,下面带大家详细地了解一下操作步骤,每个人都可以学会。1.......
  • go-optioner:轻松生成函数选项模式代码
    [Go开源工具]go-optioner:轻松生成函数选项模式代码原创 陈明勇 Go技术干货 2023-07-2508:02 发表于广东收录于合集#Go开源1个大家好,我是 陈明勇,一个热爱技术,喜欢专研技术的程序员。Go技术干货专注于分享Go技术干货知识(基础、进阶、原理等)。50篇原创......
  • playwright-python等待请求响应
    使用playwright打开一个页面时,要等待某一接口的响应。在看官网提供的node.js的文档时很容易的找到了//Startwaitingforresponsebeforeclicking.Notenoawait.constresponsePromise=page.waitForResponse('https://example.com/resource');awaitpage.getByText('tr......
  • 加密狗怎么连接虚拟机,看完教程轻松学会!
    公司想把软件都迁移到虚拟机,但是没法连接加密狗,怎么办?让USBSever来连接就行了!第一步,根据加密狗的数量,选一台合适的朝天椒USBSever,第二步,将加密狗全部插在朝天椒USBSever上,放入机房,第三步,管理员通过朝天椒软件,将加密狗连接权限分配给虚拟机用户。第四步,用户在虚拟机运行软件时,只......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-14-playwright操作iframe-番外
    1.简介通过前边三篇的学习,想必大家已经对iframe有了一定的认识和了解,今天这一篇主要是对iframe的一些特殊情况的介绍和讲解,主要从iframe的定位、监听事件和执行js脚本三个方面进行展开介绍。2.iframe定位2.1动态id属性如何定位有时候,我们可能看到的iframe的id不是固定的,是动......
  • python+playwright 学习-80 v1.37版本新增--full-page-screenshot 用例失败截长图
    前言--full-page-screenshot参数是pytest-playwright在使用,在失败时是否进行完整页面截图。默认情况下,仅捕获视口。需开启--screenshot开关(默认:off).用例失败截图环境准备:1.安装playwright最新v1.37版本2.安装pytest-playwright0.4.2版本用例示例fromplaywright.......
  • python+playwright 学习-79 设置全局导航超时和全局查找元素超时
    前言playwright默认全局的导航时间是30秒,查找元素超时也是30秒,有以下几个方法设置全局超时时间:browser_context.set_default_navigation_timeout()browser_context.set_default_timeout()page.set_default_navigation_timeout()page.set_default_timeout()导航超时设置......
  • 8步轻松晋级AMD MPSoC Linux内核调试专家
    8步轻松晋级AMDMPSoCLinux内核调试专家介绍AMDMPSoCLinux一般使用PetaLinux编译Linux系统,包括Linux内核、DTS、文件系统。PetaLinux内部集成Yocto,自动下载、配置、编译各种软件包。它简化了编译流程,也导致有些工程师找不到软件包的源代码,不知道如何调试软件。在PetaLinux......
  • python+playwright 学习-78 获取浏览器cookies
    前言playwright操作浏览器上的页面后,后续如果想结合其他的框架操作接口(如:requests),可以直接获取到浏览器的cookies。context.cookies()获取浏览器cookies使用示例fromplaywright.sync_apiimportsync_playwright,expectwithsync_playwright()asp:browser=......