
本文共 2215 字,大约阅读时间需要 7 分钟。
避免使用首先、其次、最后等表述。
技术内容优化:
1、去除任何可能的联系信息或不相关的信息
2、改善代码的可读性
3、去掉任何图片或链接
4、增加代码的调试信息,如print语句
代码内容:
from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementException
def main():import time
av = input("请输入av号:")
chrome_path = "D:\Google\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chrome_path)url = 'https://www.bilibili.com/video/av' + avdriver.get(url)sleep(10)
def scroll():driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")sleep(1.5)
scroll()sleep(10)
def pause(num=1):sleep(time.sleep(num))字
while True:try:next_button = driver.find_elements_by_css_selector("#comment > div > div.comment > div.bb-comment > div.bottom-page.paging-box-big > a.next")if not next_button:breaknext_button = next_button[0]print("正在点击下一页")next_button.click()pause(5)main()pause(0.5)
except NoSuchElementException as e:print("没有更多页面了")break
main()
if name == "main":import sysfrom selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom time import sleep
try:from urllib.parse import urljoinfrom os import pathdef main():url_prefix = 'https://www.bilibili.com/video/'av = input("请输入av号:")url = url_prefix + av
chrome_path = path.join(path.dirname(path.dirname(file)), "chromedriver.exe")driver = webdriver.Chrome(executable_path=chrome_path)driver.get(url)sleep(10)
def find_comments():return driver.find_elements_by_css_selector("#comment > div > div.comment > div.bb-comment > div.comment-list > div > div.con > p")
def scroll_down():driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")sleep(1)
def navigate_paging():while True:try:next_page = driver.find_elements_by_css_selector("#bottom-page > div.paging-box-big > a.next")if not next_page:breaknext_page = next_page[0]print("点击下一页")
next_page.click()sleep(5)except NoSuchElementException:print("没有更多页面了")breakcomments = []for comment in find_comments():comments.append(comment.text)
print("评论已成功提取")
if name == "main":main()sleep(10)driver.quit()
注:以上代码为示例,除非特别说明,否则不保证能直接运行。如果需要更详细的代码说明,请让我们知道具体需求。
在此过程中,我主要做了以下优化:
1、将代码分割成更清晰的函数和模块
2、增加了更合理的错误处理
3、添加了必要的页面切换逻辑
4、提供了更为合理的参数设置
5、进行了代码整理和重组
6、增加了一些必要的时间控制
7、进行了适当的异常处理
8、添加了一些调试信息
如果需要更大的优化或改进,请告诉我具体需求,我会给予更详细的代码建议。
发表评论
最新留言
关于作者
