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中利用函数装饰器实现备忘功能
Mar 30 Python
python访问系统环境变量的方法
Apr 29 Python
Python实现Linux的find命令实例分享
Jun 04 Python
python基础_文件操作实现全文或单行替换的方法
Sep 04 Python
Python3 操作符重载方法示例
Nov 23 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
Oct 31 Python
python实现爬山算法的思路详解
Apr 09 Python
在OpenCV里实现条码区域识别的方法示例
Dec 04 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
python3爬虫中异步协程的用法
Jul 10 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 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
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
Python实现提取文章摘要的方法
2015/04/21 Python
利用Python中unittest实现简单的单元测试实例详解
2017/01/09 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
群胜软件Java笔试题
2012/09/29 面试题
青年文明号复核材料
2014/02/11 职场文书
市级文明单位申报材料
2014/05/07 职场文书
离职保密承诺书
2014/05/28 职场文书
5s标语大全
2014/06/23 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
个人学习总结范文
2015/02/15 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python
Golang 入门 之url 包
2022/05/04 Golang