学会了爬虫,然后我一不小心就统治了整个Python吧

最近几天在玩贴吧,不知道大家和我有没有相同的经历,本来到贴吧去问个问题啊,或者去发点教程贴,然后就石沉大海,没有一个人回复。主要是别人的帖子都有人去顶,然后看得人就多了,也就有人去回复,交流了。

但是,小编的帖子也不是不行啊,怎么总是没人看,于是乎,我决定自己来给自己顶一顶。用什么呢?当然是用Python了。

我先用了火狐的开发者工具去分析这个发帖的规则,后来发现里面太过于复杂,而且有防止机器人顶帖的东西。

用开发者工具看到的东西

里面的参数太多了,而且还有加密,解码等等好多问题,这只是两个ajxs,但是里面的信息你需要到前面十几个请求里面去找,还不一定找得到。没办法,我只好求助另外一个工具了-------selenium

这是用于web自动化测试的一个工具,但是爬虫也是一样滴,而且web自动化甚至都可以算作爬虫的一个方向而已,反正都跟网络有关系。

这个模块如何使用?

很多人一看到又有一个新的模块,很方,我告诉你,和爬虫里面学的东西没啥两样。下面一步一步来看。

先把我们想要顶的帖子的网址找出来,然后模拟去请求这个网址。

然后,我们会发现自己是处于没有登陆的状态,无法发帖,那么接下来做什么?肯定是登陆啊(这里肯定有人要骂小编的智商了,这不明显的事吗?)

恩,确实明显但是还是要讲一下滴!在selenium这个模块中,我们想要输入登陆的账号和密码,首先需要定位这个元素。

实现了登陆,那么我们该要去发帖了。怎么做?先要获取输入框的位置,然后去输入。

我这个是通过在浏览器里面执行js代码来获取输入框的位置,然后填充我想要输入的内容进去的,为什么要用js,用自带的定位不好吗?其实,大家可以去试一下,这里有个小坑(大家可以评论留言,我会帮大家解决的~~)

我们输入什么内容呢?这个我也很纠结啊,每次输入一样的东西吧,没啥意义,而且容易被封,于是,我去爬了一个全部是诗文的网站,这个用requests库就可以了,比较requests库还是很方便很强大的。然后我加入了一些时间进去,这样算是一个标记,看着舒服点。

结果是怎么样的呢?请看:

就是这样的效果了

中间那一段是刚刚给你们写素材的时候发的,毕竟底下也没啥了,所以提醒一下。是不是很牛批。

但是你们也发现了,这个放在电脑上是要一直运行着的,很麻烦,于是,我把它放在了我的服务器上面运行,隔个5到20分钟就会发一个贴子。(大家如果对于无界面环境如何部署有问题的话,也可以在评论区留言哦~~)

原文发布于微信公众号 - Python雁横(py_0123)

原文发表时间:2018-04-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏即时通讯技术

腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面

我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ、微信、淘宝。那么,一个大型互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会...

1652
来自专栏Rainbond开源「容器云平台」

基于akka的分布式实时消息系统

3304
来自专栏coolblog.xyz技术专栏

I/O模型简述

最近在学习 Java NIO 方面的知识,为了加深理解。特地去看了 Unix/Linux I/O 方面的知识,并写了一些代码进行验证。在本文接下来的一章中,我将...

3627
来自专栏腾讯移动品质中心TMQ的专栏

【穿山甲系列】找出后台偷偷耗电的元凶

如图所示,在浏览器用户反馈中,耗电一直是头部问题之一,用户对于电量是非常敏感的,特别是那种类似“我明明就没用,怎么还在耗电?”的后台耗电问题,更容易引起用户的抱...

2596
来自专栏搜云库

分布式和集群区别?什么是云计算平台?分布式的应用场景?

分布式是指将一个业务拆分不同的子业务,分布在不同的机器上执行,集群是指多台服务器集中在一起,实现同一业务,可以视为一台计算机,一个云计算平台,就是通过一套软件系...

74910
来自专栏Java技术分享

RBAC新解:基于资源的权限管理(Resource-Based Access Control)

本文讨论以角色概念进行的权限管理策略及主要以基于角色的机制进行权限管理是远远不够的。同时我将讨论一种我认为更好的权限管理方式。 什么是角色 当说到程序的权限管理...

6387
来自专栏即时通讯技术

移动端IM中大规模群消息的推送如何保证效率、实时性?

众所周之,群聊是移动端IM的服务端技术难点所在,难在哪?大量的群聊消息,是一条条推给群内成员还是可以使用什么样的优化策略?试想一个2000人大群,一条消息的发出...

981
来自专栏互联网高可用架构

分布式服务化系统一致性的“最佳实干”

1885
来自专栏Rainbond开源「容器云平台」

技术解读Rainbond ServiceMesh微服务架构_开源PaaS Rainbond

服务发现和注册、弹性伸缩与负载均衡、容错处理(断路器与限流)、监控与报警、数据存储与共享、日志分析……

38511
来自专栏WeTest质量开放平台团队的专栏

浅谈服务器性能测试的全生命周期——从测试、结果分析到优化策略

服务器性能测试是一项非常重要而且必要的工作,本文是作者Micheal在对服务器进行性能测试的过程中不断摸索出来的一些实用策略,通过定位问题,分析原因以及解决问题...

1723

扫码关注云+社区