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实现网页链接提取的方法分享
Feb 25 Python
Python中实现对list做减法操作介绍
Jan 09 Python
python虚拟环境的安装配置图文教程
Oct 20 Python
Python编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
快速查询Python文档方法分享
Dec 27 Python
Python编程实现线性回归和批量梯度下降法代码实例
Jan 04 Python
pygame游戏之旅 添加键盘按键的方法
Nov 20 Python
浅谈Python爬虫基本套路
Mar 25 Python
django自带调试服务器的使用详解
Aug 29 Python
NumPy排序的实现
Jan 21 Python
keras打印loss对权重的导数方式
Jun 10 Python
Python高并发解决方案实现过程详解
Jul 31 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和ACCESS写聊天室(一)
2006/10/09 PHP
php 无限分类的树类代码
2009/12/03 PHP
php数组一对一替换实现代码
2012/08/31 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
python基础教程之自定义函数介绍
2014/08/29 Python
Python新手实现2048小游戏
2015/03/31 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
Python with标签使用方法解析
2020/01/17 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
幼儿发展评估方案
2014/06/11 职场文书
给校长的建议书作文300字
2015/09/14 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
Mysql中mvcc各场景理解应用
2022/08/05 MySQL