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中使用urllib2防止302跳转的代码例子
Jul 07 Python
Python 对象中的数据类型
May 13 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
Python基于property实现类的特性操作示例
Jun 15 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
解决pycharm的Python console不能调试当前程序的问题
Jan 20 Python
Python中的random.uniform()函数教程与实例解析
Mar 02 Python
python 的topk算法实例
Apr 02 Python
如何使用Python处理HDF格式数据及可视化问题
Jun 24 Python
基于python实现简单C/S模式代码实例
Sep 14 Python
多个版本的python共存时使用pip的正确做法
Oct 26 Python
PyTorch中clone()、detach()及相关扩展详解
Dec 09 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扩展开发经验分享
2012/09/06 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
ES6实现图片切换特效代码
2020/01/14 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
Python tkinter label 更新方法
2018/10/11 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
军训的自我鉴定
2013/12/10 职场文书
初中生自我评价
2014/02/01 职场文书
家长寄语大全
2014/04/02 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
武侯祠导游词
2015/02/04 职场文书
大学生党员个人总结
2015/02/13 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
python实现简单聊天功能
2021/07/07 Python