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 的 with 语句详解
Jun 13 Python
python中map、any、all函数用法分析
Apr 21 Python
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
Nov 09 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
Python画图高斯分布的示例
Jul 10 Python
Django Admin中增加导出CSV功能过程解析
Sep 04 Python
python实现银行管理系统
Oct 25 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
python 字典item与iteritems的区别详解
Apr 25 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
Python 如何在字符串中插入变量
Aug 01 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中10个不常见却非常有用的函数
2010/03/21 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
js css实现垂直方向自适应的三角提示菜单
2016/06/26 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
python3 实现口罩抽签的功能
2020/03/11 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
小学毕业寄语大全
2014/04/03 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
房地产项目合作意向书
2015/05/08 职场文书