Linux   发布时间:2022-05-08  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了pyppeteer的使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

pyppeteer的使用

安装

  • 属于第三方模块进行安装. pip install pyppeteer

  • 在Linux中,如果权限不够则加上. sudo pip install pyppeteer

使用

使用今日头条作为demo

from pyppeteer import launch
import asyncio
?
async def @H_273_63@main(timeout=30):# 设定时间超时,默认是30秒
   # async 用来申明一个函数是一个异步函数
   browser = await launch(headless=True,args=["--no-sandBox"])
   # 参数说明:
   # headless 参数设为false,变为有头模式
   # pyppeteer 支持字典和关键字传递参数
   page = await browser.newPage()
   
   # 设置页面大小
   await page.setViewport(viewport={"width":1280,"height":800})
   
   # 是否启用JS,enabled设为false,则无渲染效果
   await page.setJavaScriptEnabled(enabled=TruE)
   
   # 超时时间设置
   res = await page.goto(url=url,options={"timeout":1000})
   # 响应头
   resp_headers = res.headers
   # 响应状态
   resp_status = res.status
   
   # 等待
   await asynico.sleep(2)
   # 第二种方法
   while not await page.querySELEctor(".t"):
       pass
   
   # 滚动到页面底部
   await page.evaluate(‘windows.scrollBy(0,document.body.scrollHeight)‘)
   
   # 截图报存图片
   await page.screenshot({"path": "toutIao.png"})
   
   # 获取cookie
   print(await page.cookies())  
   
   # 打印页面文本信息
   print(await page.content())
   
   # 在页面上执行js脚本
   dimensions = await page.evaluate(pageFunction=‘‘‘() => {
          return {
              width: document.documentElement.clientWidth,// 页面宽度
              height: document.documentElement.clientHeight,// 页面高度
              deviceScaleFactor: window.devicePixelRatio,// 像素比 1.0000000149011612
          }
      }‘‘‘,force_expr=falsE)  # force_expr=false 执行的是函数
   print(dimensions)
   # 只获取文本 执行 js 脚本 force_expr 为 True 则执行的是表达式
   content = await page.evaluate(pageFunction=‘document.body.textContent‘,force_expr=TruE)
   print(content)
?
   # 打印当前页标题
   print(await page.title())\
   
   # 抓取其他信息
   """
  1.选择器,Page.querySELEctor()
  2.选择器,Page.querySELEctorAll()
  3.xpath表达式,Page.xpath()
  """
   # 使用querySELEctor()
   element = await page.querySELEctor(".Feed-infinite-wrapper > ul>li") # 只抓取一个
   print(element)
   
   # 获取所有的文本信息,执行js代码
   content = await page.querySELEctorAll(‘(element) => element.textContent‘,element)
   print(content)
   
   # 使用Xpath
   # elements = await page.xpath(‘//div[@class="title-Box"]/a‘)
   # 使用选择器全选
   elements = await page.querySELEctorAll(".title-Box a")
   for item in elements:
       print(await item.getProperty(

大佬总结

以上是大佬教程为你收集整理的pyppeteer的使用全部内容,希望文章能够帮你解决pyppeteer的使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: