使用se模拟

使用se模拟爬取YT爬虫心得声明:只用来学习交流,原创不易,转载请声明!!!总结:使用selenium模拟操作相对来说会比较耗时,但是可以获取网站的动态加载的数据,并且可以不用去找评论信息的包在哪里,还可以绕过网站的一些加密算法。还是一种比较好的方法。但在爬取过程中要注意评论信息加载出来需要时间加载,所以需要在点击操作中sleep20秒左右,防止爬取到空数据。第一步首先能够科学上网,懂得都懂在爬取过程中,网站会识别你是否处于登录状态,所以在进行模拟爬取的时候使用cookie......
摘要由CSDN通过智能技术生成

使用se模拟

声明:只用来学习交流,原创不易,转载请声明!!!

总结:

使用selenium模拟操作相对来说会比较耗时,但是可以获取网站的动态加载的数据,并且可以不用去找评论信息的包在哪里,还可以绕过网站的一些加密算法。还是一种比较好的方法。但在爬取过程中要注意评论信息加载出来需要时间加载,所以需要在点击操作中sleep20秒左右,防止爬取到空数据。

  1. 第一步首先能够科学上网,懂得都懂
  2. 在爬取过程中,网站会识别你是否处于登录状态,所以在进行模拟爬取的时候使用cookie来进行模拟登录,以免在爬取过程中跳转到登录页面,这时你需要一个谷歌账号,谷歌账号上淘宝即可,方便快捷。
driver.get(url) #闯入YouTube视频地址

    # 首先清除由于浏览器打开已有的cookies
    driver.delete_all_cookies()

    with open('cookie.txt', 'r') as f:
        # 使用json读取cookies 注意读取的是文件 所以用load而不是loads
        cookies_list = json.load(f)

        # 方法1 将expiry类型变为int
        for cookie in cookies_list:
            if 'sameSite' in cookie:
                cookie['sameSite'] = 'None'
            driver.add_cookie(cookie)
    driver.refresh()

    temp_height = 0
    driver.execute_script("window.scrollBy(0,900)")
    sleep(20)

3.在使用selenium时可以模拟登录网站进行自动化操作,所以我设想的是用selenium模拟鼠标一直向下滑动,一直滑动到评论的最低部,把评论全部都动态的加载出来,然后在使用selenium来进行获取数据

    while True:
        # 循环将滚动条下拉
        driver.execute_script("window.scrollBy(0,500)")
        # sleep一下让滚动条反应一下
        sleep(5)
        # 获取当前滚动条距离顶部的距离
        check_height = driver.execute_script(
            "return document.documentElement.scrollTop || window.pageYOffset || document
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值