pyppeteer爬取动态加载的网站

本文介绍了如何利用pyppeteer库来爬取那些依赖JavaScript动态加载内容的网站。pyppeteer是基于Chromium的,可以模拟浏览器行为,从而获取完整页面的数据。此外,还探讨了pyppeteer与Scrapy框架的整合方法,提供了一些整合的实战链接和教程,帮助读者更好地进行动态网页的爬虫开发。
摘要由CSDN通过智能技术生成

https://blog.csdn.net/mouday/article/details/89574718

https://blog.csdn.net/ywdhzxf/article/details/94649327

https://www.jianshu.com/p/fd9eb385a70e  scrapy整合 

https : //github.com/Python3WebSpider/ScrapyPyppeteer  scrapy整合 

https://www.cnblogs.com/dyfblog/p/10170959.html 笔记

# -*- coding: utf-8 -*-

import asyncio
from pyppeteer import launch
from pyquery import PyQuery as pq



# 示例一: 渲染页面
async def crawl_page():
     brower = await launch({
        "headless": False,  # 设置模式, 默认无头
        'userDataDir': r'C:\DataDir',  # 设置缓存目录
                            'args': 
                                [
                                    '--no-sandbox',
                                    '--disable-infobars',  # 隐藏 ‘浏览器正在被监控提示条’
                                ], 'dumpio': True   # 防止阻塞
    })
    # 打开新页面
    page = await brower.newPage()

    # 设置页面视图大小
    await page.setViewport(viewport={'width': 1280, 'height': 800})

    # 是否启用JS,enabled设为False,则无渲染效果
    await page.setJavaScriptEnabled(enabled
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python爬虫抓取淘宝等动态加载内容的网站通常会涉及到JavaScript渲染的内容,这时简单地发送HTTP请求可能无法获取完整数据。为了处理这类情况,你需要使用一些支持浏览器自动化或者模拟用户交互的技术,如Selenium、Pyppeteer等库。 1. **Selenium**:这是一个流行的WebDriver工具,它允许通过真实的浏览器环境控制来动态加载页面并抓取数据。首先,需要安装selenium库,然后通过webdriver(如ChromeDriver)驱动浏览器访问网站。 ```python from selenium import webdriver # 创建一个新的Chrome浏览器实例 driver = webdriver.Chrome() driver.get('https://www.taobao.com') # 等待页面加载完成 driver.implicitly_wait(10) # 找到动态加载的部分并提取数据 data_elements = driver.find_elements_by_css_selector('.dynamic-data') # 需替换CSS选择器 data = [element.text for element in data_elements] # 关闭浏览器 driver.quit() # 数据处理 # ... ``` 2. **Scrapy-Splash**:Scrapy框架的一个中间件,Splash是一个轻量级的HTTP渲染服务,可以让你的爬虫像浏览器一样请求动态加载的资源。在Scrapy项目配置中启用Splash,并指定相应的URL。 3. **Pyppeteer**:另一个基于Node.js的库,提供了一个类似Chrome DevTools的API,适用于生成HTML渲染后的PDF、屏幕截图,以及爬取动态网页。它的使用方法也类似Selenium,先启动一个隔离的浏览器进程,然后控制这个进程进行操作。 记得遵守网站的Robots协议,尊重版权,并确保你的爬虫行为不会对服务器造成过大压力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值