Python爬虫实现刷B站、爱奇艺等视频网站播放量

Python爬虫实现刷B站、爱奇艺等视频网站播放量[Python常见问题]

很幸运,这篇文章能够被发出来。之所以归类的Python爬虫,因为他的访问机制跟爬虫类似。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465

先上代码,然后再分析:

import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

while True:
 
    chromeOptions = webdriver.ChromeOptions()
     
    browser = webdriver.Chrome("C:Program Files (x86)GoogleChromeApplicationchromedriver.exe", options=chromeOptions) #浏览器驱动
     
    browser.delete_all_cookies()  # 删除cookie
     
     
    browser.get("https://www.bilibili.com/video/av00000002") #视频地址
     
    element = WebDriverWait(browser, 15).until( #等待播放按钮能够被加载并且能够被点击,15s后如果还没加载完成并且不满足被点击的条件,就抛出异常
        EC.element_to_be_clickable((By.XPATH, "//*[@id="bilibiliPlayer"]/div[1]/div[1]/div[8]/video"))
    )
    element.click()
    print(browser.get_cookies())
    time.sleep(100)# 等待时常
    browser.quit()
     
   
     

代码分析:

1.库的调用

调用了这一堆库,不会安装库的看一看我的这篇博客:python库安装

import requests 
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

有人会问我,为什么不直接导入一个selenium库呢?养成好习惯,不要让你的代码很冗杂,不然打包的时候,把一整个库都会打包。
记住,这个习惯很重要!!!!!

2. 浏览器调试驱动

    chromeOptions = webdriver.ChromeOptions()
     
    browser = webdriver.Chrome("C:Program Files (x86)GoogleChromeApplicationchromedriver.exe", options=chromeOptions) #浏览器驱动

这里要下载浏览器调试的驱动,要跟你的浏览器的版本一样。
网址:

  • Chrom浏览器的web driver(chromedriver.exe):点这儿
  • Firefox(火狐浏览器)的web driver (geckodriver.exe):点这儿
  • Microsoft Edge :戳这里
  • Apple Safari : Click it

然后放在浏览器根目录下,再把浏览器根目录下的驱动的地址,放到代码里即可。

 browser = webdriver.Chrome("驱动路径", options=chromeOptions) #浏览器驱动

3.删除cookie

browser.delete_all_cookies()  # 删除cookie

Cookie 并不是它的原意“甜饼”的意思, 而是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起,
保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web
文档时这些信息可供该文档使用。由于“Cookie”具有可以保存在客户机上的神奇特性, 因此它可以帮助我们实现记录用户个人信息的功能,
而这一切都不必使用复杂的CGI等程序 。 举例来说, 一个 Web 站点可能会为每一个访问者产生一个唯一的ID, 然后以 Cookie
文件的形式保存在每个用户的机器上。如果使用浏览器访问 Web, 会看到所有保存在硬盘上的
Cookie。在这个文件夹里每一个文件都是一个由“名/值”对组成的文本文件,另外还有一个文件保存有所有对应的 Web
站点的信息。在这里的每个 Cookie 文件都是一个简单而又普通的文本文件。透过文件名, 就可以看到是哪个 Web
站点在机器上放置了Cookie(当然站点信息在文件里也有保存)

为了避免,多次访问,cookie记录的情况。

4. 视频地址

   browser.get(" 要访问的视频地址") #视频地址

直接将要访问的视频地址粘贴,即可。

5. 自动播放

   element = WebDriverWait(browser, 15).until( #等待播放按钮能够被加载并且能够被点击,15s后如果还没加载完成并且不满足被点击的条件,就抛出异常
        EC.element_to_be_clickable((By.XPATH, "//*[@id="bilibiliPlayer"]/div[1]/div[1]/div[8]/video"))
    )
    element.click()

第一步:
是设置等待加载时常,是网络环境设置时将长度。
第二步:
获取播放按钮的位置,本文是B站的播放位置
其他网站,F12,点击该按钮,再点击播放按钮即可获取,按照代码种形式设置即可。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Python爬虫实现刷B站、爱奇艺等视频网站播放量