#!/usr/bin/env python3

# -*- coding: utf-8 -*-

import time

import re

import requests

import urllib3

# 禁用requests提交https的get请求时的报错

urllib3.disable_warnings()

'''根据page_num号,获取发出的评论页html'''

def get_comment_html(page_num):

header = {'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encoding':'gzip, deflate, br','Accept-Language':'zh-CN,zh;q=0.9','Connection':'keep-alive','DNT':'1','Host':'weibo.com','Upgrade-Insecure-Requests':'1','User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36','Cookie':r''}

comment_url = 'https://weibo.com/comment/outbox?page=' + str(page_num)

comment_response = requests.get(comment_url, headers=header, verify=False)

return comment_response.text

'''根据评论页html,获取评论comment_id_list'''

def get_comment_id_list(comment_html):

comment_id_list = []

pairs = re.findall(r'comment_id=\d{16}', comment_html)

for pair in pairs:

comment_id_list.append(pair.split('=')[-1])

return comment_id_list

'''根据comment_id删除该条评论'''

def del_comment(cid):

headers = {'Host':'weibo.com','Connection':'keep-alive','Origin':'https://weibo.com','X-Requested-With':'XMLHttpRequest','User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML:like Gecko) Chrome/62.0.3202.94 Safari/537.36','Accept':'*/*','DNT':'1','Referer':'https://weibo.com/comment/outbox?page=1','Accept-Language':'zh-CN,zh;q=0.9','Accept-Encoding':'gzip:deflate','Content-Type':'application/x-www-form-urlencoded','Content-Length':'25','Cookie':r''}

delete_comment_url = 'https://weibo.com/aj/comment/del?ajwvr=6&__rnd='

time_stamp = int(time.time()) * 1000

# url中包含时间戳(毫秒)

delete_comment_url = delete_comment_url + str(time_stamp)

body = {'cid':cid, '_t':'0'}

delete_comment_response = requests.post(delete_comment_url, data=body, headers=headers, verify=False)

print(delete_comment_response.text)

'''获取当前用户共有多少评论分页'''

def get_comment_page_end_num():

comment_html = get_comment_html(1)

pairs = re.findall(r'\\t(\d+)', comment_html)

return int(pairs[-1:][0])

if __name__ == '__main__':

while True:

count = 0

start_page_num = 1

end_page_num = get_comment_page_end_num()

for page_num in range(start_page_num, end_page_num):

comment_html = get_comment_html(page_num)

print('获得%d页评论,评论页大小%d' % (page_num, len(comment_html)))

comment_id_list = get_comment_id_list(comment_html)

if len(comment_id_list) == 0:

time.sleep(2)

continue

for comment_id in comment_id_list:

del_comment(comment_id)

count += 1

time.sleep(5)

if count == 0:

break

python微博自动评论转发_「Python」 - 自动删除微博评论相关推荐

  1. python程序如何执行死刑_「Python基础知识」Python生成器函数

    原标题:「Python基础知识」Python生成器函数 对于程序而言,内存也是很重要的,因为程序中很多数据都是保存在内存中的,如果内存中存储的数据过多,那么系统就会崩溃,这是人们不希望发生的. 可以采 ...

  2. python通过什么对象连接数据库_「Python」连接数据库的三种方式

    连接SQLite 要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection: 连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果 ...

  3. python读文件去除空行_「34」Python文件操作经典案例:CSV文件的读与写

    [1]认识CSV文件 CSV是Comma Separated Values的缩写,它是逗号分隔符文本格式,常用于数据交换.Excel文件和数据库数据的导入和导出. 鉴于CSV的应用场景,编程人员与它打 ...

  4. python画图表的库_「Python」python绘制图表

    介绍一种简单而又功能强大的绘制图形或报表的包-pyecharts,一个基于Echarts(基于JS的数据可视化库)的图标类库,除了绘制常见的折线图.柱状图.饼图.箱型图和散点图外,还可以绘制3D柱状图 ...

  5. python语言中的冒号_「冒号」编程语言中的冒号(:) - seo实验室

    冒号 1.lisp语言中用括弧()分割语句和定义函数参数,用空格分割原子,用分号表示注释,逗号,数组中用,用冒号(:)来定义函数命令,即可以在cad命令行里输入. 2.Python中,用()定义函数参 ...

  6. python设计一个动物类_「Python」每日一练:设计圆类计算周长和面积、设计动物类...

    编程题 1.设计一个 Circle(圆)类,包括半径和颜色属性,编写构造方法和其他方法,计算圆的周长和面积.请编写程序验证类的功能. 2.设计一个 Animal(动物)类,包括颜色属性和叫方法.再设计 ...

  7. python学生数据完善程序_「Python」每日一练:学生数据完善程序

    编程题 1.现有一程序已创建了4个列表,这4个列表中有添加元素,但列表中的数据不完善,有一定的错误,内容如下所示: list1=["学号","姓名"," ...

  8. python 最小二乘回归 高斯核_「机器学习」一文读懂线性回归、岭回归和Lasso回归...

    点击上方蓝色字体,关注AI小白入门哟 作者 | 文杰 编辑 | yuquanle 本文介绍线性回归模型,从梯度下降和最小二乘的角度来求解线性回归问题,以概率的方式解释了线性回归为什么采用平方损失,然后 ...

  9. python随机分组的思路_「Python」每日一练:学生学习小组分组程序

    编程题 学习小组分组程序:某课程共分4个小组,现有12名学生,要求随机分配到各组中.要求每组有且只能有3名学生. 编程要求:(1)要求使用嵌套列表保存数据:(2)要求导入随机数模块 思路分析 (1)首 ...

最新文章

  1. b2evolution_0.9.2修改(1)
  2. DFS求连通块数目(深搜)
  3. IOS 多线程的一些总结
  4. UA MATH571A ANCOVA简介
  5. 无障碍开发(四)之ARIA aria-***状态值
  6. powermock跳过某方法_变频调速电动机产生机械共振原因和处理方法
  7. Scala _10Actor Model
  8. Sql Server 2005中的快照隔离
  9. (六)Netty网络编程应用实例-群聊系统
  10. 49多项式04——标准分解式、不可约多项式、因式分解及唯一性定理、重因式
  11. rgba 和 IE 的 filter数值转换
  12. 移动端优秀框架--Amaze UI(h5)
  13. python如何修改图片透明度_如何改变图像的不透明度
  14. python 处理英文步骤
  15. Win10出现“你需要权限才能执行此操作”提示的解决方法--win7w.com
  16. 向量代数:向量加法、共线与共面
  17. win10怎么更新显卡驱动_Intel发布核显新驱动:支持Win10 H2更新、11代酷睿狂喜-Intel,核显,驱动,Win10 ——快科技(驱动之家旗下媒体)-...
  18. 【代码大全2】第33章 个人性格
  19. 支付宝称:已支持微信转账,结果被骂惨了...
  20. Linux Ubuntu18.04系统 USB转串口驱动安装,查看串口号

热门文章

  1. ItextSharp 坐标系转换
  2. 批量修改ip成自定义网址
  3. [Python]将MP3和PDF按名字分类归档到各自文件夹
  4. 2×3卡方检验prism_【SPSS数据分析】方差分析之多因素方差分析(3)Graphpad Prism绘制简单效应折线图...
  5. 戾气遍地的社会,我们该如何远离垃圾人?(深度)
  6. cv2.imread默认情况下读取的是彩色图片
  7. 《郭论》郭德纲/著 读后得2021-02-22
  8. bat putty shell 连携
  9. 分享台阶价格对比逻辑。(商城中购买数量越多,单价越低)
  10. appium+Python+逍遥游模拟器自动化执行测试用例,为什么一直中断连接?