一个刷简书访问量的小程序(仅供学习,切勿他用)---Python-selenium的安装及初步使用

简介: 爬虫经常需要伪装浏览器进行爬取数据,爬虫与反爬虫的较量无时无刻不在上演,本期介绍爬虫神器selenium库的安装及使用!0.效果展示以我自己的文章为例代码运行结果:加上自己两次查看访问结果5+2=7...

爬虫经常需要伪装浏览器进行爬取数据,爬虫与反爬虫的较量无时无刻不在上演,本期介绍爬虫神器selenium库的安装及使用!


0.效果展示

img_1d4a92333059e4e19809ea28988e335f.png
以我自己的文章为例
img_5ab312bd0ce2d8a453c19d30eb91b9e2.png
代码运行

img_b41e7a3ce20e1a8bdec660a370ae3c7f.png
结果:加上自己两次查看访问结果5+2=7

之前试过requests库来模拟访问,但加了请求头还是没用,访问量并没用增加,这次试用了selenium,selenium虽然好用,但是速度非常慢,除非迫不得已,建议还是别用这个库
关于这个demo,只是脑子一热就想到了,访问量也不能决定什么,没有必要去刷这个东西,靠歪门邪道获取虚荣的满足是不可取的,对于简书,我是把它当成一个记录学习过程的工具,顺便分享我的学习历程,demo仅供参考(大数量访问还没试过,不知道会不会被限制


1.运行环境

  • Python3.6.5
  • Pycharm-2018.1.2
  • win10

2.selenium的介绍

Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。

Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。

Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。


3.安装selenium

1,pip install selenium
2,下载Firefox浏览器
3,下载geckodriver(是Firefox的官方webdriver)下载地址

img_45e59d76a0e7b0713a8bb636b4885270.png
下载

这里可以看到最新版为v0.21.0,我的电脑是windows10 64位,所以选择下载geckodriver-v0.21.0-win64.zip
放置位置:放到Python目录的Scripts下


4.代码示例

from selenium import webdriver

def IncreaseViews():
    url = input('请输入需要访问的地址(并按空格再按回车):')
    n = int(input('请输入访问次数:'))
    browser = webdriver.Firefox()
    for i in range(n):
        browser.get(url)
        browser.refresh()
        print('成功访问{}次'.format(i+1))
        i += 1
    browser.close()

IncreaseViews(

测试发现:简书在登陆账号的情况下,在访问过一篇文章后(访问量+1),无法通过再次访问来增加访问量(访问自己的文章不增加访问量),但是,在不登陆账号的情况下,可以无限增加访问量!不知是简书的BUG还是有意为之。

目录
相关文章
|
1月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
299 0
|
1月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
169 1
|
1月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
257 1
|
4月前
|
Linux 计算机视觉 C++
【解决方案】Building wheel for opencv-python:安装卡顿的原因与解决方案
当你安装OpenCV时,命令行停在Building wheel for opencv-python (PEP 517) ... -似乎卡住了。这并非程序假死,而是其编译耗时巨大。本文将揭示原因,并提供优化安装体验的实用方法。
684 88
|
2月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
388 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
1月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
144 4
|
6月前
|
安全 数据安全/隐私保护 Python
Python学习的自我理解和想法(27)
本文记录了学习Python第27天的内容,主要介绍了使用Python操作PPTX和PDF的技巧。其中包括通过`python-pptx`库创建PPTX文件的详细步骤,如创建幻灯片对象、选择母版布局、编辑标题与副标题、添加文本框和图片,以及保存文件。此外,还讲解了如何利用`PyPDF2`库为PDF文件加密,涵盖安装库、定义函数、读取文件、设置密码及保存加密文件的过程。文章总结了Python在处理文档时的强大功能,并表达了对读者应用这些技能的期待。
|
2月前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
4月前
|
算法 IDE 测试技术
python学习需要注意的事项
python学习需要注意的事项
268 57