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文档生成工具pydoc使用介绍
Jun 02 Python
python正则中最短匹配实现代码
Jan 16 Python
Python实现的寻找前5个默尼森数算法示例
Mar 25 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
Oct 11 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
Dec 14 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
python 随机生成10位数密码的实现代码
Jun 27 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
Python 实现遥感影像波段组合的示例代码
Aug 04 Python
Python实时监控网站浏览记录实现过程详解
Jul 14 Python
编写python程序的90条建议
Apr 14 Python
Pytorch 实现变量类型转换
May 17 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用户指南-cookies部分
2006/10/09 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
php实现微信发红包功能
2018/07/13 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
Pytorch释放显存占用方式
2020/01/13 Python
python opencv进行图像拼接
2020/03/27 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
django正续或者倒序查库实例
2020/05/19 Python
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
几个人围成一圈的问题
2013/09/26 面试题
建筑工程专业毕业生自荐信
2013/10/19 职场文书
班主任评语大全
2014/04/26 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
分享几个简单MySQL优化小妙招
2022/03/31 MySQL
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android