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

   日期:2020-06-03     浏览:155    评论:0    
核心提示:很幸运,这篇文章能够被发出来。之所以归类的Python爬虫,因为他的访问机制跟爬虫类似。只不过是没有使用表达式爬取而已。先上代码,然后再分析:import requestsfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support im.爬虫

很幸运,这篇文章能够被发出来。之所以归类的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

while True:
 
    chromeOptions = webdriver.ChromeOptions()
     
    browser = webdriver.Chrome('C:\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.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)\\Google\\Chrome\\Application\\chromedriver.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,点击该按钮,再点击播放按钮即可获取,按照代码种形式设置即可。

6.加载成功,输出cookie
    print(browser.get_cookies())

如果加载成功,会给相应的反馈,所以我们为了看到反馈就输出一下cookie

7.设置每个视频观看时长
    time.sleep(100)# 等待时常

这个尽量给不要低于30秒,不然刷的太快,可能会被封

8.关闭浏览器
browser.quit()

注意: 本文倾向于Python的使用教学,不建议真的拿这个去刷访问量,因为那样刷的太少,真的能够短时间提升视频播放量的方法是IP池,我不讲,那样一天刷个几万,对B站的那些用心的视频作者不太公平,而对于那些平台运营来说,他们的惯用手段推流,你用这个只会增加PV,不会增加UV没有用户粘性。
这时候有人问我了,没用你发个屁呀?
一天24小时,一个小时60分钟,一分钟增加两个浏览量,一天一个ip可以增加2880的播放量。比你手动是不是好点。

优质的内容,才会增加粘性用户,靠着软件刷出的播放量,永远是昙花一现,奉劝脚踏实地的一步一步成为优质视频作者。




写在最后:
Name:风骨散人,目前是一名双非在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你!名字的含义:我想有一天我能有能力随心所欲不逾矩,不总是向生活低头,有能力让家人拥有富足的生活而不是为了生计而到处奔波。“世人慌慌张张,不过是图碎银几两。偏偏这碎银几两,能解世间惆怅,可让父母安康,可护幼子成长 …”
文章主要内容:
Python,C++,C语言,JAVA,C#等语言的教程
ACM题解、模板、算法等,主要是数据结构,数学和图论
设计模式,数据库,计算机网络,操作系统,计算机组成原理
Python爬虫、深度学习、机器学习
计算机系408考研的所有专业课内容
目前还在更新中,先关注不迷路。微信公众号,cnblogs(博客园),CSDN同名“风骨散人”

如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文!
感谢大家的阅读!你的点赞、收藏、关注是对我最大的鼓励!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服