前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学会了爬虫,然后我一不小心就统治了整个Python吧

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

作者头像
用户1682544
发布2018-06-11 15:04:03
5330
发布2018-06-11 15:04:03
举报
文章被收录于专栏:Python小白进阶之旅

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

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

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

用开发者工具看到的东西

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

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

这个模块如何使用?

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

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

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

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

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

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

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

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

就是这样的效果了

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python雁横 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这个模块如何使用?
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档