Python实现的爬虫刷回复功能示例
时间:2019-04-15
本文章向大家介绍Python实现的爬虫刷回复功能示例,主要包括Python实现的爬虫刷回复功能示例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了Python实现的爬虫刷回复功能。分享给大家供大家参考,具体如下:
最近闲的无聊,就想着去看看爬虫,顺着爬虫顺利的做到了模拟登录、刷帖子等等,这里简要说一下。
使用Python2.7写的爬虫,对某论坛做模拟登陆和刷帖子、回复等等,由于之前是没有接触过爬虫,这次之后感觉爬虫很强大,能做很多事,先来贴几张图。
由于论坛不让使用相同的文字,所以调用了笑话的api,达到不同文字的目的。
该论坛使用的是cookie,所以先去获取一下cookie,顺便将cookie写到文件里面。
''' 获取cookie ''' def get_cookie(login_data, url, testurl=None): filename = "cookie" cookie = cookielib.MozillaCookieJar(filename) hadler = urllib2.HTTPCookieProcessor(cookie) opener = urllib2.build_opener(hadler) post_data = urllib.urlencode( {'logname': 123456, "logpass": "123456", "action": "login", }) url = 'http://*****.me/waplogin.aspx' opener.open(url, post_data) cookie.save(ignore_discard=True, ignore_expires=True) print("获取成功") # print(opener.open(testurl).read())
先要分析该网站登录地址,登录需要的参数,如上代码
获得cookie之后,分析该论坛的回复参数,该论坛采用的是post提交,需要有帖子id,回复内容等等,分析之后得到如下代码
代码先加载文件里面的cookie,然后调用了haha这个笑话api,当然我已经将这个api的json进行了处理,这里只要笑话内容就行。
''' 回复帖子 ''' def post_reply(): filename = "cookie" cookie = cookielib.MozillaCookieJar(filename) cookie.load(filename, ignore_discard=True, ignore_expires=True) handler = urllib2.HTTPCookieProcessor(cookie) opener = urllib2.build_opener(handler) num=0 for i in range(216255, 800000): num = num + 1 huifu = urllib.urlencode( {'sendmsg': 0, "content": str(haha(num)), "action": "add", "id": str(i), "classid": 177}) gradeUrl = 'http://******.me/bbs/book_re.aspx' result = opener.open(gradeUrl) print result.read() print "当前第" + str(num) + "" + "次回帖" print("当前帖子id" + str(i)) sleep(1)
发帖子代码:
''' 发帖子(普通帖子或者加悬赏分的帖子:并不是悬赏板块的帖子) ''' def post_articles(book_title, book_content, classid=177, sendmoney=0): filename = "cookie" cookie = cookielib.MozillaCookieJar(filename) cookie.load(filename, ignore_discard=True, ignore_expires=True) handler = urllib2.HTTPCookieProcessor(cookie) opener = urllib2.build_opener(handler) post_articles = urllib.urlencode( {'sendmsg': 0, "book_title": str(book_title), "action": "gomod", "siteid": "1000", "book_content": str(book_content), "classid": classid, "sendmoney": sendmoney}) gradeUrl = 'http://*****.me/bbs/book_view_add.aspx' result = opener.open(gradeUrl, post_articles) print(result.read())
将这些代码进行进行调用就可以去刷回复了。
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
- 推荐系统介绍
- Android WebView 上传文件支持全解析
- 网站管理软件 – AspxSpy2014 Final
- 特性分支与特性开关哪家强?
- Android快速开发框架 roboguice
- 悄悄的干活,打枪的不要!勒索+比特币挖矿木马
- 拥有可移动头像的折叠Android工具栏:CollapsingAvatarToolbar
- Android平台下的第一个Tor木马
- 利用代码实现自定义圆角+阴影按钮 android-flat-button
- 周末阅读:程序员的《权利法案》
- 对利用Adobe 0day – CVE-2014-0502进行攻击的行为分析
- Android系统更改状态栏字体颜色
- Android实现竖着的滑动刻度尺效果,选择身高(竖向的)
- DedeCMS全版本通杀SQL注入漏洞利用代码及工具
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Flink History Server
- 几种定时任务(Timer、TimerTask、ScheduledFuture)的退出—结合真实案例【JAVA并发】
- gitlab内存消耗大,频繁出现502错误的解决办法
- Java基于POI实现excel任意多级联动下拉列表——支持从数据库查询出多级数据后直接生成【附源码】
- Elasticsearch 通过Scroll遍历索引,构造pandas dataframe 【Python多进程实现】
- 【Java】 NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException、ArrayIndexOutOfBoundsE
- Meow攻击删除不安全(开放的)的Elasticsearch(及MongoDB) 索引,建一堆以Meow结尾的奇奇怪怪的索引(如:m3egspncll-meow)
- MySQL LOAD DATA INFILE—从文件(csv、txt)批量导入数据
- MySQL 快速删除大量数据(千万级别)的几种实践方案——附源码
- 什么样的代码是好代码?
- Elastic search集群新增节点(同一集群,同一物理机)
- Tesseract-OCR 4.1.0 安装和使用— windows及CentOS
- Java 大小端转换(基于ByteBuffer)
- Tika结合Tesseract-OCR 实现光学汉字识别(简体、宋体的识别率百分之百)—附Java源码、测试数据和训练集下载地址
- 阿里《JAVA实习生入职测试题—2019最新》之答案详解(连载一)