python刷b站视频浏览量_python刷B站播放量

首先,我们要知道B站播放量计算方法:不同的IP只能算一次,如果点一下就关掉,会出现播放完成度很低的情况,反而不利。

所以我们要做的是:不停换IP地址打开视频播放页,最好能看完视频。

下面是实现方法:

获取某一个网页上的所有代理IP,返回一个IP列表:

def get_ip_list(url, headers):

web_data = requests.get(url, headers=headers)

soup = BeautifulSoup(web_data.text, 'lxml')

ips = soup.find_all('tr')

ip_list = []

for i in range(1, len(ips)):

ip_info = ips[i]

tds = ip_info.find_all('td') #tr标签中获取td标签数据

ip = tds[1].text + ':' + tds[2].text

ip_list.append(ip)

return ip_list

从网站上爬取数据(主要是不断的切换页面)

def Get_Ip_Form_66():

global ip_list

ip_list=[]

global headers

headers = {

'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',

'Accept-Encoding':'gzip, deflate, sdch',

'Accept-Language':'zh-CN,zh;q=0.8',

'Cache-Control':'max-age=0',

'Connection':'keep-alive',

'Host':'www.66ip.cn',

'If-None-Match':'W/"b077743016dc54409ebe6b86ba7a869b"',

'Upgrade-Insecure-Requests':'1',

'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36',

}

cookies = None

for i in range(1,20):

url = 'http://www.66ip.cn/'+str(i)+'.html'

ip_list.append(get_ip_list(url,headers))

def Auto_Like_Your_Video(url):

try:

# 使用代理ip

chromeOptions = webdriver.ChromeOptions()

chromeOptions.add_argument("--proxy-server="+str(url))# 一定要注意,=两边不能有空格,不能是这样--proxy-server = http://202.20.16.82:10152

driver = webdriver.Chrome(options=chromeOptions)

# 打开视频播放页

driver.get("https://www.bilibili.com/video/BV1hi4y1x7PM")

time.sleep(7)

# 获取视频时长

Video_Time = driver.find_element_by_xpath("//div[@name='time_textarea']/span[3]").text

Total_Second = Change_The_Time_Type(Video_Time)

# 两倍速

element=driver.find_element_by_xpath("//button[@class='bilibili-player-video-btn-speed-name']")

webdriver.ActionChains(driver).move_to_element(element).click(element).perform()

element=driver.find_element_by_xpath("//ul[@class='bilibili-player-video-btn-speed-menu']/li[1]")

webdriver.ActionChains(driver).move_to_element(element).click(element).perform()

# 点击播放

element=driver.find_element_by_xpath("//button[@class='bilibili-player-iconfont bilibili-player-iconfont-start']")

webdriver.ActionChains(driver).move_to_element(element).click(element).perform()

# 页面最小化

driver.minimize_window()

# 看完视频

time.sleep(Total_Second/2)

# 关闭页面

driver.close()

except :

pass

注意的是两倍速必须鼠标移上去才可以点击,所以新增加一个移上去的动作,别的用xpath定位就可以了,没什么麻烦的地方。

主要的不足:必须看完一个视频才能看下一个,而且没有对代理IP池进行检验。后来我试了一下检验,感觉不太行(比如打开百度,找里面的某个元素,看看能不能找到),用多线程的话,不知道为什么,是5个5个打开的,电脑直接就卡死了,页面能打开,但是很卡,无法点击,也不行。

如果大家有好的方法希望能跟我说一下。

完整的代码可以访问:https://github.com/HGGshiwo/AutoLikeYourVideo.git

本文地址:https://blog.csdn.net/HGGshiwo/article/details/107661135

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值