当前位置: 首页 > article >正文

使用Python爬取B站UP主所有视频信息_( listname 0_listname )upname avtitle-( favtime fa

看样子这个JS脚本是来用于检测用户的信息,并根据这些条件可能会重定向不同的页面。此外,还有一些用于页面性能监控、日志上报和webp图片格式支持检测的脚本。

本菜鸟技术有限,打不过就绕过,直接上selenium来获取所有视频的BV号

2、综合思路

selenium用来获取BV号,爬取到具体的信息保存下来,配合多线程、requests用来爬取具体视频的信息,提高爬取效率,最后用execl保存爬取到的所有信息

二、代码实现

1、初始化Selenium WebDriver:

使用Selenium的Chrome WebDriver来模拟用户在浏览器中的操作,这样可以处理JavaScript渲染的页面

class GetInfo():def __init__(self, user_id):self.a_list = []  # 存储每一个视频的urlself.d = webdriver.Chrome()  # 初始化Chrome浏览器驱动self.user_id = user_idself.base_url = f'https://space.bilibili.com/{user_id}/video'self.d.get(self.base_url)#这篇文章写于2022年,当时B站免登入可以搜索视频,查看视频,但是这段时间再次尝试爬取资源时,加了必须认证登入,尝试过很多次,没有获取token,只能老老实实,登入后再去爬取信息time.sleep(10)print("速度扫码登入")

实际效果,是可以直接访问,

但是会弹出登入验证,甚至因为未登入无法获取视频列表,接口返回无权限,遇到这种情况,只能登入,尝试过selenium带cookie,但是没用,甚至登入后copy as curl再postman导入请求,都返回无权限,说明搜索接口再请求服务器时候,没有带上cookie

2、访问用户视频列表页面

这里使用XPath定位到视频列表的ul元素,然后遍历其中的li元素,提取每个视频的URL。

    def get_url(self):# 从当前页面获取所有视频的URL并保存到本地文件ul=WebDriverWait(self.d, 10).until(lambda x: x.find_element(By.XPATH, '//*[@id="submit-video-list"]/ul[1]'))lis = ul.find_elements(By.XPATH, "li")
http://www.lryc.cn/news/2415652.html

相关文章:

  • 一起撸个朋友圈吧(step1) ListView(完结)篇
  • 强烈推荐没事都看看.
  • 解决element-ui.common.js?5c96:3:Navigation cancelled from “/admin“ to “/users“ with a new navigation.
  • Ubuntu设置CPU频率cpufrequtils
  • Windows 7“God Mode”(上帝模式)
  • 全球50大变态网站
  • 使用Arduino,蓝牙和Android app的开源爬墙机器人
  • 人事管理系统平台(源码+开题)
  • 升级cisco设备的IOS
  • VC6.0(Visual C++ 6.0) 建立一个简单的C语言工程
  • DD373自动发布工具/DD373辅助/DD373外挂
  • toolkit 和 toolbox的区别 what the difference between ‘toolkit‘ and ‘toolbox‘
  • 2024七款最佳的渗透测试工具_网络安全渗透工具
  • win7下桌面IE快捷方式无法删除解决方法
  • dede模板里常用到的一些标签—dedecms模板开发
  • Web安全 Acunetix漏洞扫描工具.
  • DIV CSS绝对定位布局案例 position布局实例
  • puppet安装与使用--模块结构(iptables与rsync模块)
  • 【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
  • 代理网站
  • 浅谈www.baidu.com和baidu.com
  • 基于VHDL语言的数字电子钟设计
  • 上网的数据包交互过程
  • vs2005 调试技巧
  • 华为云CloudIDE的抄袭真相?
  • B站后台源码疑似泄露,作为程序员我们得注意哪些?
  • 基础算法——二分(C语言版)
  • 辽宁网络营销网站建设的步骤-网站设计营销内容
  • Django 基于类的通用视图详解
  • Objective-C 基础语法详解