通过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类定义的讲解

一、类定义:复制代码 代码如下:class <类名>: <语句>类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。如果直接使用...

python使用pyqt写带界面工具的示例代码

python使用pyqt写带界面工具的示例代码

上篇介绍的使用python自带tkinter包,来写带界面的工具。 此篇介绍使用pyqt来开发测试工具。 tkinter的好处是python官方自带,上手容易(但手写控件复杂),布局和摆...

Python 生成一个从0到n个数字的列表4种方法小结

我就废话不多说了,直接上代码吧! 第一种 def test1(): l = [] for i in range(1000): l = l + [i] 第二种(app...

Python 40行代码实现人脸识别功能

Python 40行代码实现人脸识别功能

前言 很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要深究其中的原理...

对Pytorch中nn.ModuleList 和 nn.Sequential详解

简而言之就是,nn.Sequential类似于Keras中的贯序模型,它是Module的子类,在构建数个网络层之后会自动调用forward()方法,从而有网络模型生成。而nn.Modul...