码迷,mamicode.com
首页 > 其他好文 > 详细

pyppeteer基本使用demo

时间:2020-02-07 17:07:39      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:result   path   lse   空白页   结果   odi   支持   lis   基本使用   

# -*- 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)

 

pyppeteer基本使用demo

标签:result   path   lse   空白页   结果   odi   支持   lis   基本使用   

原文地址:https://www.cnblogs.com/kenD/p/12273260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!