Python实现的爬虫刷回复功能示例


Posted in Python onJune 07, 2018

本文实例讲述了Python实现的爬虫刷回复功能。分享给大家供大家参考,具体如下:

最近闲的无聊,就想着去看看爬虫,顺着爬虫顺利的做到了模拟登录、刷帖子等等,这里简要说一下。

使用Python2.7写的爬虫,对某论坛做模拟登陆和刷帖子、回复等等,由于之前是没有接触过爬虫,这次之后感觉爬虫很强大,能做很多事,先来贴几张图。

Python实现的爬虫刷回复功能示例

由于论坛不让使用相同的文字,所以调用了笑话的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相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中声明只包含一个元素的元组数据方法
Aug 25 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
Python 一句话生成字母表的方法
Jan 02 Python
简单了解Python3里的一些新特性
Jul 13 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
python如何将两个txt文件内容合并
Oct 18 Python
python flask搭建web应用教程
Nov 19 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
树莓派升级python的具体步骤
Jul 05 Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 Python
Python语言内置数据类型
Feb 24 Python
异步任务队列Celery在Django中的使用方法
Jun 07 #Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 #Python
Python查看微信撤回消息代码
Jun 07 #Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 #Python
Python简单实现网页内容抓取功能示例
Jun 07 #Python
pyspark 读取csv文件创建DataFrame的两种方法
Jun 07 #Python
redis之django-redis的简单缓存使用
Jun 07 #Python
You might like
php封装的表单验证类完整实例
2016/10/19 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
100行python代码实现跳一跳辅助程序
2018/01/15 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
淘宝活动策划方案
2014/02/06 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
学年个人总结范文
2015/03/05 职场文书
小学教学工作总结2015
2015/05/13 职场文书
迎新生晚会主持词
2015/06/30 职场文书
天气温馨提示语
2015/07/14 职场文书
四年级语文教学反思
2016/03/03 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS