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下如何让web元素的生成更简单的分析
Jul 17 Python
Python的内存泄漏及gc模块的使用分析
Jul 16 Python
Python版微信红包分配算法
May 04 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
Apr 11 Python
Python简单实现控制电脑的方法
Jan 22 Python
用Python实现大文本文件切割的方法
Jan 12 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
详解python中*号的用法
Oct 21 Python
详解python statistics模块及函数用法
Oct 27 Python
Python3和pyqt5实现控件数据动态显示方式
Dec 13 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 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获取表单textarea数据中的换行问题
2010/09/10 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
php正则修正符用法实例详解
2016/12/29 PHP
js控制div及网页相关属性的代码
2009/12/19 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
python fabric使用笔记
2015/05/09 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
python去掉空白行的多种实现代码
2018/03/19 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
python输入错误后删除的方法
2019/10/12 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
对孩子的寄语
2014/04/09 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
考博专家推荐信
2014/05/10 职场文书
违纪检讨书
2015/01/27 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
纪律委员竞选稿
2015/11/19 职场文书