zoukankan      html  css  js  c++  java
  • pyppeteer基本使用demo

    # -*- coding: utf-8 -*-
    # 类似selenium,支持异步,不需要再单独安装环境,pyppeteer自动安装环境
    # 异步await要写到一个函数的内部
    
    
    from pyppeteer import launch
    import asyncio
    from lxml import etree
    
    
    async def main():
        # 实例化一个浏览器, 默认的是没有可视化界面
        bro = await launch(headless=False)
        # 打开空白网页
        page = await bro.newPage()
        # 在空白页发请求,  这里访问一个动态加载的页面
        await page.goto('http://quotes.toscrape.com/js/')
        # 获取当前页面返回的源码
        page_text = await page.content()
        return page_text
    
    
    def parse(task):
        # 把协程函数中的结果返回到回调函中,开始解析
        page_text = task.result()
        tree = etree.HTML(page_text)
        div_list = tree.xpath('//div[@class="quote"]')
        for div in div_list:
            content = div.xpath('./span[1]/text()')[0]
            print(content)
    
    
    c = main()
    loop = asyncio.get_event_loop()
    task = loop.create_task(c)
    task.add_done_callback(parse)
    loop.run_until_complete(task)
  • 相关阅读:
    C++ MFC学习 (二)
    C++ MFC字符转换
    C++ MFC学习 (一)
    Windows.h 文件学习
    Git 学习
    Git 学习
    php压缩文件夹并下载到本地
    接口类型无限级分类
    mysql 共享锁 排它锁
    docker基础命令
  • 原文地址:https://www.cnblogs.com/kenD/p/12273260.html
Copyright © 2011-2022 走看看