通过python+selenium3实现浏览器刷简书文章阅读量

yipeiwu_com6年前Python基础

准备工作

下载python,本文以python3.6为例。python3.6下载地址:python3下载地址,选择合适的版本安装。安装成功后,打开命令提示符,在其中输入python,显示如下信息,则说明安装成功。

C:\Users\Ubuntu>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

安装selenium3,打开命令提示符,输入pip install selenium,selenium会自动下载安装。安装完成后,打开命令提示符,输入python,然后在python环境下输入import selenium,如果没有提示错误,则安装成功。

C:\Users\Ubuntu>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import selenium
>>>

下载浏览器驱动,本文以火狐为例,火狐的selenium驱动为geckodriver。geckodriver下载地址:geckodriver下载地址,下载解压后,将geckodriver.exe文件放到python目录下,本例地址为C:\Program Files\Python36,也可以将geckodriver.exe加入环境变量。

刷阅读量脚本

实测在未登录情况下,通过刷新页面,可以达到增加阅读量的效果,所以我们的策略是,打开浏览器,不停的刷新页面,以达到增加阅读量的效果。下面是刷数量代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re

class new_sub_count(unittest.TestCase):
 def setUp(self):
  self.driver = webdriver.Firefox()
  self.driver.implicitly_wait(30)
  self.base_url = 'https://www.jianshu.com/p/93a2895000d3' # 链接为需要刷数量的文章链接
  self.verificationErrors = []
  self.accept_next_alert = True
 
 """刷新阅读量"""
 def test_refresh_count(self):
  driver = self.driver
  driver.get(self.base_url)
  for i in range(100): # 其中数字为要刷新的数量
   time.sleep(2) # 为防止浏览器频繁刷新僵死,故设置休息时间
   driver.refresh() # 刷新
  driver.quit() # 退出浏览器

if __name__ == '__main__':
 unittest.main()

将上文的代码保存为.py格式的文件,文件编码为utf-8格式,本文将文件另存为count.py,并存储在C:\Users\Ubuntu目录下。

执行

打开命令提示符,进入存放文件的目录,执行python count.py,如下:

C:\Users\Ubuntu>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> python count.py

执行开始后,程序会调用火狐浏览器,并自动进行刷新,以达到刷阅读数量的效果。本文仅作技术交流,请正当使用~希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现单线程多任务非阻塞TCP服务端

本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下 # coding:utf-8 from socket import * #...

Python的gevent框架的入门教程

Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 gevent是第三方库,通过greenlet实现协程,其基本...

浅谈Django+Gunicorn+Nginx部署之路

前言 最近,我已经成功将我的个人网站从 Flask 迁移到 Django 了,最早接触 Django 的时候大概是在 4 年前,我记得那个时候 Django 中的路由配置使用 正则 来...

python绘制彩虹图

python绘制彩虹图

本文实例为大家分享了python绘制彩虹图的具体代码,供大家参考,具体内容如下 from turtle import * #控制彩虹路径 def path(pen, r, g,...

Django中更新多个对象数据与删除对象的方法

更新多个对象 例如说我们现在想要将Apress Publisher的名称由原来的”Apress”更改为”Apress Publishing”。若使用save()方法,如: >&...