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之有容乃大的list(1)
Sep 14 Python
Python操作MySQL数据库9个实用实例
Dec 11 Python
Python正则表达式经典入门教程
May 22 Python
最近Python有点火? 给你7个学习它的理由!
Jun 26 Python
pandas实现选取特定索引的行
Apr 20 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
Python实现Selenium自动化Page模式
Jul 14 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
python打开文件的方式有哪些
Jun 29 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/11/06 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
php实现文件编码批量转换
2014/03/10 PHP
PHP四大安全策略
2014/03/12 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
jquery实现点击弹出对话框
2020/02/08 jQuery
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
python中文件变化监控示例(watchdog)
2017/10/16 Python
python reduce 函数使用详解
2017/12/05 Python
实例讲解Python爬取网页数据
2018/07/08 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
同学聚会欢迎辞
2014/01/14 职场文书
仓库管理制度
2014/01/21 职场文书
高中数学教学反思
2014/01/30 职场文书
公司应聘自荐书
2014/06/14 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
Java数组详细介绍及相关工具类
2022/04/14 Java/Android
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android