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正则表达式 re模块使用说明
May 19 Python
小结Python用fork来创建子进程注意事项
Jul 03 Python
Python获取单个程序CPU使用情况趋势图
Mar 10 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
Mar 20 Python
对python中的logger模块全面讲解
Apr 28 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
Jun 07 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
Python自动登录QQ的实现示例
Aug 28 Python
Selenium 安装和简单使用的实现
Dec 04 Python
termux中matplotlib无法显示中文问题的解决方法
Jan 11 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
ini_set的用法介绍
2014/01/07 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
javascript实用方法总结
2015/02/06 Javascript
详解javascript函数的参数
2015/11/10 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
python实现log日志的示例代码
2018/04/28 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
python实现机器人卡牌
2019/10/06 Python
基于Django统计博客文章阅读量
2019/10/29 Python
python求质数列表的例子
2019/11/24 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
电子商务专业学生职业生涯规划
2014/03/07 职场文书
工作评语大全
2014/04/26 职场文书
设计师求职信模板
2014/05/06 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
基层党支部整改方案
2014/10/25 职场文书
教师党员个人整改措施
2014/10/27 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
党支部半年考察意见
2015/06/01 职场文书
医院病假条范文
2015/08/17 职场文书