【写在前面】

小燕同学:鹏哥,我在微信公众号上写的一些美妆博客,都没什么阅读量,老板要求我在这个月底至少让几篇博客阅读量达到10W+,你说我要不要每天自己去刷或者找水军呀?

鹏哥:博客刷阅读量?这不是公然作弊吗?

小燕同学:呜呜,要是这个月又让老板不满意,那就要扣我绩效奖金了。

鹏哥:好吧,我用10行代码帮你搞下吧。

【最终效果】

以刷“鹏哥贼优秀”公众号的博客为例:

【实现过程】

1、原理简述:爬虫刷阅读量本质其实是模拟用户点击网页查看内容的操作,因此只需要代码能访问相应的博客地址,就可以实现刷阅读量的目的。

2、最初跳的坑:request.get访问怎么不会增加阅读量?

一开始我是直接调用request.get()方法来尝试实现的,但是发现虽然我用get()方法获取到了网站内容,但是并没 有使对应的阅读量增加。后来查了一些资料,说是request.get()只是在获取URL时截获到网页响应,并没有真正动态加载JS。

3、出坑:用selenium解决

后来就采用大神们推崇的爬虫神器--Selenium,至于有多少牛逼,可以用下面这张网图来简单示意下。

4、接着跳坑:怎么用selenium实现访问:

本身selenium使用方法和request库差不多,就是 对html元素的查找方法有所改变,另外就是selenium更加智能和强大。我先用selenium来 尝试刷了下自己CSDN博客的阅读量,发现只需要2句代码就可以了!

driver = webdriver.Chrome("chromedriver.exe")driver.get(url)

先从网上下载chromedriver.exe,是 谷歌浏览器的启动器。一开始我以为是 本地谷歌的可执行文件,后来发现 并不是,而且需要根据自己本地的chrome版本下载对应的chromedriver。chromedriver下载地址是:

http://chromedriver.storage.googleapis.com/index.html

本地的谷哥版本

下载对应的chromedriver版本

5、接着跳坑:那怎么在浏览器上访问微信公众号的文章呢?

一般在直接百度上搜索公众号文章是找不到的,需要用搜狗搜索网

站来实现。在搜狗网站上,有个“微信”选项,从这里进入就可以查找到公众号文章了。

6、再跳坑:为什么我文章对应的URL地址不可用呀?

一开始为 了偷懒,我是想把要刷的文章URL,复制到txt中的,但是发现F12 抓包得到的博客URL没用。

怎么办呢?

好,那我真正地放Selenium的“连续普通拳”!

7、出坑:用selenium获取到每一个博客标题对应的html元素,然后模拟用户点击操作。

find_element_by_xpath是万能的元素查找方法,当然也有很多其他查找方法,如:

下面主要参考其他大神整理好的find_element_by_xpath使用方法(URL地址在最下方):

8、成功前的最后一坑:能成功打开第一个公众号文章,但就是打不开第二个,程序报错说 找不到元素。

一开始我是用下面这句代码来查找博客标题元素的,但是第2篇开始一直报错。

driver.find_element_by_xpath('//h3[{}]/a'.format(i))

原先我以为是因为打开子窗口导致的,因此加了回到主窗口的代码 ,然后发现还是不行。最后只能再仔细看html格式,终于发现了里面的玄机!

原来需要从每个h3/a元素的父元素开始往下一层层遍历,即从ul[@] ->li -> div[@] -> h3 ->a。

另外,在程序最后要记得关闭浏览器。driver.close()是关闭的窗口,driver.quit()是停止chrome进程并关闭相关所有进程。

至此,一只小白,将刷博客阅读量实现过程中的所有的坑都跳完了!

【示例代码】

# coding=utf-8# @Auther : "鹏哥贼优秀"# @Date : 2019/8/30# @Software : PyCharmfrom selenium import webdriverimport timedef RefreshReadingNum():    url = "https://weixin.sogou.com/weixin?type=2&query=%E9%B9%8F%E5%93%A5%E8%B4%BC%E4%BC%98%E7%A" \          "7%80python&ie=utf8&s_from=input&_sug_=n&_sug_type_=&w=01019900&sut=9342&sst0=156717011391" \          "9&lkt=7%2C1567170112675%2C1567170113806"    # 一共访问10W次    for j in range(100000):        # 实例化谷歌浏览器        driver = webdriver.Chrome("chromedriver.exe")        # 访问网站        driver.get(url)        # 设置搜索结果作为当前主窗口        mainwindow = driver.current_window_handle        # 搜索结果共有9篇文章          for i in range(1,10):            # 查找网页上的博客标题            btn = driver.find_element_by_xpath('//ul[@]/li[{}]/div[@]/h3/a'.format(i))            driver.find_element_by_xpath('//h3[{}]/a'.format(i))            # 模拟用户点击博客标题,从而进入博客界面            btn.click()            # 回到主窗口            driver.switch_to.window(mainwindow)            time.sleep(5)        driver.close()        time.sleep(120)        driver.quit()    print("结束!")if __name__ == "__main__":    RefreshReadingNum()

【写在最后】

鹏哥:小燕同学,怎么样?快夸夸我,嘻嘻!

小燕:鹏哥贼优秀!

鹏哥:你开心就好!

另外,补充说明下:

看似简单的几行代码,里面还是有很多值得琢磨的细节,比如有些网站在一定时间内访问,只会计算成一次阅读量,比如CSDN,所以我在访问结束加了120S;又比如如果有些网站有IP检测机制的话,要如何模拟IP。

【参考】

https://blog.csdn.net/u012941152/article/details/83011110

url 里面 等号_【Python成长之路】从零学爬虫给微信公众号阅读量作个弊:刷阅读量...相关推荐

  1. 阿里云+python+flask+ngnix零基础从零开始搭建微信公众号进行后台AI开发全套教程

    目录 一.微信公众号开发基础 1.1 与公众号的消息会话 1.2 与公众号内的网页交互 1.2 搭建开发者环境 1.2.1 配置nginx环境 1.2.2 云服务器与微信服务器建立连接 1.2.2.1 ...

  2. Python 爬虫之微信公众号

    Python 爬虫之微信公众号 源代码放在文末. 本次爬虫需要的工具如下: selenium 驱动器 对应浏览器的 webdriver 一个微信订阅号 在 2017 年 6 月左右,微信官方发布一篇文 ...

  3. 微信python天天学_刚学Python一礼拜!我就能模拟登录微信公众号!我是天才吧!...

    最近迷上了用python写爬虫,一发不可收拾,下面我们来说一下如何实现模拟登录微信公众号平台. 故事起因,由于本人注册了一个公众号,想着如何通过脚本实现像部分用户发送消息呢? 如何实现一键上传材料呢? ...

  4. Python爬虫,微信公众号话题标签内容采集打印PDF输出

    微信公众号内容采集,比较怪异,其参数,post参数需要话费时间去搞定,这里采集的是话题标签的内容,同时应用了pdfkit打印输出内容. 这里实现应用了两个版本,第一个是直接网页访问,其真实地址即pos ...

  5. Python扫码登录保存和验证cookies值——微信公众号篇(四)

    python实现扫码登录微信公众号 一.通过研究观察找到相关链接地址 二.通过上面两个值再运行访问二维码链接地址 三.找到扫码后确认链接地址 四.找到最后访问链接地址获取真正登录信息 五.最后保存co ...

  6. 【Python爬虫实战】微信公众号爬虫:微信公众号浏览自动化

    本文内容详细介绍微信公众号历史文章自动化浏览脚本的实现,配合服务端对公众号文章数据爬取来实现微信公众号文章数据的采集.服务端爬取实现见:微信公众号爬虫:服务端公众号文章数据采集 背景:在团队的学习方面 ...

  7. Python爬虫采集微信公众号阅读量点赞量等数据

    1.安装相关的库 requests.json.re.lxml等 2.完整代码 3.获取登录信息 首先我们用自己的公众号登陆,点击"新的创作",打开创作页面后点击上方超链接选项,f1 ...

  8. 【Python爬虫】微信公众号历史文章和文章评论API分析

    上一篇文章爬取微信公众号文章信息准备工作介绍了微信公众号历史文章和文章评论API的组成情况,历史文章API格式:https://mp.weixin.qq.com/mp/profile_ext?acti ...

  9. python爬取论文代码_Python selenium爬取微信公众号文章代码详解

    需求: 想阅读微信公众号历史文章,但是每次找回看得地方不方便. 思路: 1.使用selenium打开微信公众号历史文章,并滚动刷新到最底部,获取到所有历史文章urls. 2.对urls进行遍历访问,并 ...

最新文章

  1. Python,OpenCV中的图像修复——cv2.inpaint()
  2. 上下文菜单Context Menu
  3. 2.6 datetime 模块
  4. 总奖金15万,双赛道同名消歧挑战赛报名进行中
  5. 图神经网络(二)GCN的性质(2)GCN能够对图数据进行端对端学习
  6. 数据结构带头结点单向不循环链表(C语言版)
  7. Fashion-MNIST数据集离线加载办法
  8. linux需要什么基础,学linux需要什么基础?
  9. C++:不同数据类型作为参数传递和作为返回值的例子
  10. 两张照片重叠处半透明_那些悬浮在空中的照片是怎么拍的?
  11. 【Oracle学习笔记】
  12. 将APP打包为IPA
  13. Web(4)servlet
  14. 华为网络设备-FTP文件传输
  15. Cypress前端测试左移分享
  16. 剑桥2021计算机专业,2021剑桥大学计算机专业录取条件出炉 你有信心过线吗
  17. 嵌入式系统开发的架构和应用
  18. 斗图表情包爬虫(基于多线程)
  19. ruyistdio IDE caffemodel 转.wk
  20. 小白重装系统教程_大神教你小白一键重装系统

热门文章

  1. 服务器被黑客用来挖矿?怎么办?
  2. python办公自动化价值是什么意思_办公自动化是什么意思,怎么实现?
  3. CSS3实战-文字篇
  4. Android-进阶教程-权限-特殊权限-AppOps
  5. Robot Framework RIDE工具闪退处理
  6. js插入浏览器实现自动点击按钮
  7. C++的友元函数,友元类及#pragma once的作用
  8. 人工智能α-β树剪支图文
  9. 新鲜事儿!只有AI作品的电影节;酷~AI纹身设计师;ChatGPT的接生婆RLHF;Wayve自动驾驶模型MILE… | ShowMeAI资讯日报
  10. UG NX 12 抽取几何特征