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 相关文章推荐
推荐11个实用Python库
Jan 23 Python
python实现井字棋游戏
Mar 30 Python
Python实现程序判断季节的代码示例
Jan 28 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
python并发编程多进程 互斥锁原理解析
Aug 20 Python
如何基于python操作excel并获取内容
Dec 24 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
如何安装并在pycharm使用selenium的方法
Apr 30 Python
python中selenium库的基本使用详解
Jul 31 Python
Django celery异步任务实现代码示例
Nov 26 Python
Django与数据库交互的实现
Jun 03 Python
Python pandas之求和运算和非空值个数统计
Aug 07 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 归并排序 数组交集
2011/05/10 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
div移动 输入框不能输入的问题
2009/11/19 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
javascript History对象原理解析
2020/02/17 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
2020/06/02 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
Python3 queue队列模块详细介绍
2018/01/05 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python导入模块交叉引用的方法
2019/01/19 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
销售职业生涯规划范文
2014/03/14 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
go语言中http超时引发的事故解决
2021/06/02 Golang
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers
服务器nginx权限被拒绝解决案例
2022/09/23 Servers