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在命令行下使用google翻译(带语音)
Jan 16 Python
python基础教程之获取本机ip数据包示例
Feb 10 Python
python使用nntp读取新闻组内容的方法
May 08 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
如何用OpenCV -python3实现视频物体追踪
Dec 04 Python
python实现布隆过滤器及原理解析
Dec 08 Python
Django 博客实现简单的全文搜索的示例代码
Feb 17 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
Mar 05 Python
Python读取yaml文件的详细教程
Jul 21 Python
python 下载文件的多种方法汇总
Nov 17 Python
使用Django框架创建项目
Jun 10 Python
python中validators库的使用方法详解
Sep 23 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计算上一个月的今天
2013/05/23 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
php实现的ping端口函数实例
2014/11/12 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
详解Python核心对象类型字符串
2018/02/11 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
numpy库reshape用法详解
2020/04/19 Python
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
售后专员岗位职责
2013/12/08 职场文书
家具厂厂长岗位职责
2014/01/01 职场文书
保护地球的标语
2014/06/17 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
职工小家建设活动方案
2014/08/25 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
2014年人大工作总结
2014/12/10 职场文书
创业计划书之农家乐
2019/10/09 职场文书
导游词之山东孔庙
2019/11/04 职场文书
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript