获取b站热门视频前100个标题(使用selenium)

import time

from lxml.html import html_to_xhtml
from selenium import webdriver
from selenium.webdriver.common.by import By
from lxml import etree


def scroll_to_bottom():
    js = "return document.body.scrollHeight"
    height = 0  # 初始化现在滚动条所在高度为0
    new_height = driver.execute_script(js)  # 当前窗口总高度
    while height < new_height:
        # 将滚动条调整至页面底部
        for i in range(height, new_height, 200):
            driver.execute_script('window.scrollTo(0, {})'.format(i))
            time.sleep(0.5)
        height = new_height
        time.sleep(0.5)
        new_height = driver.execute_script(js)
        if condition():
            break

    # 终止条件


def condition():
    try:
        driver.find_element(By.XPATH, '/html/body/div[2]/div/div[2]/div[1]/ul/div[100]/div[2]')
        return True
    except:
        return False


# 终止条件

if __name__ == '__main__':
    # 初始化一个driver,指定Chrome浏览器
    driver = webdriver.Chrome()
    driver.get("https://www.bilibili.com/v/popular/all/?spm_id_from=333.1007.0.0")
    scroll_to_bottom()
    movieList = driver.find_elements(By.CLASS_NAME, 'video-name')[:100]
    i = 1
    with open("movie_Top100.txt", 'w', encoding="utf-8") as f:
        for movie in movieList:
            f.writelines(f"NO.{i}{movie.text}\n")
            i += 1
    driver.quit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值