通过python+selenium3实现浏览器刷简书文章阅读量
准备工作
下载python,本文以python3.6为例。python3.6下载地址:python3下载地址,选择合适的版本安装。安装成功后,打开命令提示符,在其中输入python,显示如下信息,则说明安装成功。
C:\Users\Ubuntu>python Python3.6.0(v3.6.0:41df79263a11,Dec232016,08:06:12)[MSCv.190064bit(AMD64)]onwin32 Type"help","copyright","credits"or"license"formoreinformation. >>>
安装selenium3,打开命令提示符,输入pipinstallselenium,selenium会自动下载安装。安装完成后,打开命令提示符,输入python,然后在python环境下输入importselenium,如果没有提示错误,则安装成功。
C:\Users\Ubuntu>python Python3.6.0(v3.6.0:41df79263a11,Dec232016,08:06:12)[MSCv.190064bit(AMD64)]onwin32 Type"help","copyright","credits"or"license"formoreinformation. >>>importselenium >>>
下载浏览器驱动,本文以火狐为例,火狐的selenium驱动为geckodriver。geckodriver下载地址:geckodriver下载地址,下载解压后,将geckodriver.exe文件放到python目录下,本例地址为C:\ProgramFiles\Python36,也可以将geckodriver.exe加入环境变量。
刷阅读量脚本
实测在未登录情况下,通过刷新页面,可以达到增加阅读量的效果,所以我们的策略是,打开浏览器,不停的刷新页面,以达到增加阅读量的效果。下面是刷数量代码:
fromseleniumimportwebdriver fromselenium.webdriver.common.byimportBy fromselenium.webdriver.common.keysimportKeys fromselenium.webdriver.support.uiimportSelect fromselenium.common.exceptionsimportNoSuchElementException fromselenium.common.exceptionsimportNoAlertPresentException importunittest,time,re classnew_sub_count(unittest.TestCase): defsetUp(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 """刷新阅读量""" deftest_refresh_count(self): driver=self.driver driver.get(self.base_url) foriinrange(100):#其中数字为要刷新的数量 time.sleep(2)#为防止浏览器频繁刷新僵死,故设置休息时间 driver.refresh()#刷新 driver.quit()#退出浏览器 if__name__=='__main__': unittest.main()
将上文的代码保存为.py格式的文件,文件编码为utf-8格式,本文将文件另存为count.py,并存储在C:\Users\Ubuntu目录下。
执行
打开命令提示符,进入存放文件的目录,执行pythoncount.py,如下:
C:\Users\Ubuntu>python Python3.6.0(v3.6.0:41df79263a11,Dec232016,08:06:12)[MSCv.190064bit(AMD64)]onwin32 Type"help","copyright","credits"or"license"formoreinformation. >>>pythoncount.py
执行开始后,程序会调用火狐浏览器,并自动进行刷新,以达到刷阅读数量的效果。本文仅作技术交流,请正当使用~希望对大家的学习有所帮助,也希望大家多多支持毛票票。