小白学习爬虫2 selenium

170 阅读1分钟

这是我参与8月更文挑战的第18天,活动详情查看:8月更文挑战

驱动存放的路径

chrome_path = "D:\Google\chromedriver.exe" #驱动的路径

定义函数进行爬取,找到结点进行爬取


def pa(): #定义函数,进行爬取
    list = driver.find_elements_by_css_selector(
        '#comment > div > div.comment > div.bb-comment > div.comment-list > div > div.con > p')
    for i in list:
        l1.append(i.text)

这里是进行回滚的操作,最好要等待几秒钟~

driver.execute_script('window.scrollBy(0,document.body.scrollHeight)')
sleep(1.5)#页面滚动到底部
driver.execute_script('window.scrollBy(0,1000)')
sleep(1.5)

然后可以一直爬,知道这里已经没有页数爬取就行了~

直接上代码,selenium比较基础

ps:记得装好驱动噢,不行的话可以留言,我私发驱动给你~

from selenium import webdriver
from time import  sleep
l1=[]
print("请输入av号:")
av=input()
from selenium.common.exceptions import NoSuchElementException  #防止错误

def pa(): #定义函数,进行爬取
    list = driver.find_elements_by_css_selector(
        '#comment > div > div.comment > div.bb-comment > div.comment-list > div > div.con > p')
    for i in list:
        l1.append(i.text)

url = 'https://www.bilibili.com/video/av'+av
chrome_path = "D:\Google\chromedriver.exe" #驱动的路径
driver = webdriver.Chrome(executable_path=chrome_path)
driver.get(url)
sleep(10)
driver.execute_script('window.scrollBy(0,document.body.scrollHeight)')
sleep(1.5)#页面滚动到底部
driver.execute_script('window.scrollBy(0,1000)')
sleep(1.5)
#等待网络
sleep(10)
pa()
while (1):
    try:
        c =driver.find_element_by_css_selector("#comment > div > div.comment > div.bb-comment > div.bottom-page.paging-box-big > a.next")
        #print(c)
        c.click()#模拟点击下一页,当没有下一页的时候就会进行下面一个操作
        sleep(5)
        pa()
        sleep(0.5)
    except NoSuchElementException as e:
        print("没")
        break
for i in l1:
    print(i)