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

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

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

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

用开发者工具看到的东西

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

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

这个模块如何使用?

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

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

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

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

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

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

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

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

就是这样的效果了

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

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

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

2394
来自专栏架构师之路

换IP的是你,凭啥重启的却是我?

一、缘起 很多公司,技术经常遇到这样的场景: 1)硬件升级,要换一台高配机器 2)网络重新规划,若干服务器要调整机架 3)服务器当机,要重新部署恢复服务 … ?...

3677
来自专栏韩伟的专栏

浅析海量用户的分布式系统设计(1)

为什么海量的用户访问,会让一个服务器端系统变得更复杂?本文就是想从最基本的地方开始,探寻服务器端系统技术的基础概念。

30.9K6
来自专栏杨建荣的学习笔记

sysbench压测MyCAT的shell脚本

中间件MyCAT自己之前也简单测试过,总结过。最近做分布式测试,我大体分了三个阶段: 一.环境部署,MHA和MyCAT的融合,读写分离 二.sharding策...

3467
来自专栏京东技术

Elasticsearch运维宝典——监控实战篇

Elasticsearch(文中简称 ES)是分布式全文搜索引擎,产品提供高可用、易扩展以及近实时的搜索能力,广泛应用于数据存储、搜索和实时分析。很多服务的可用...

892
来自专栏Java技术分享

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

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

5447
来自专栏大魏分享(微信公众号:david-share)

深度分析:Istio替代Spring Cloud的合理性

一、现有微服务架构 微服务本质上是分布式架构、分布式应用、分布式计算。 分布式计算可以带来的好处有:性能、可靠性、弹性、可扩展性、可用性、稳健性。 而从应用开发...

1K8
来自专栏云计算D1net

微服务的这些优缺点 你准备好了吗?

模块化的由小的组件或服务组成的应用程序,即所谓的微服务,正在取代传统的单一应用程序。尽管微服务的做法非常适合云,但微服务所拥有的优缺点是所有企业都应该考虑的问题...

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

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

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

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

I/O模型简述

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

3537

扫码关注云+社区