python3批量删除豆瓣分组下的好友的实现代码

yipeiwu_com5年前Python基础

python3批量删除豆瓣分组下的好友的实现代码

"""
python3批量删除豆瓣分组下的好友
2016年6月7日 03:43:42 codegay

我两年前一时冲动在豆瓣关注了很多豆瓣的员工,好多,有四百个。
我现在一时冲动想取消关注...,写这么一个脚本可以用来加快删除的速度。

cookies还是直接从chrome读取出来用,
参考我之前刚写的代码 python3从chrome浏览器读取cookie,

"""

import os
import sqlite3
import re
import requests
from win32.win32crypt import CryptUnprotectData

def getcookiefromchrome(host='.oschina.net'):
  cookiepath=os.environ['LOCALAPPDATA']+r"\Google\Chrome\User Data\Default\Cookies"
  sql="select host_key,name,encrypted_value from cookies where host_key='%s'" % host
  with sqlite3.connect(cookiepath) as conn:
    cu=conn.cursor()    
    cookies={name:CryptUnprotectData(encrypted_value)[1].decode() for host_key,name,encrypted_value in cu.execute(sql).fetchall()}
    print(cookies)
    return cookies
#运行环境windows 2012 server python3.4 x64 pywin32 chrome 50 
#getcookiefromchrome()
#getcookiefromchrome('.baidu.com')

dbcookies=getcookiefromchrome('.douban.com')

txt=requests.get('https://www.douban.com/contacts/list?tag=1718',cookies=dbcookies).text
#print(txt)
userid=re.findall(r'id="u(\d+)"',txt)

ck=dbcookies['ck']
#ck的值在每次重新登录豆版后会变化。
#可以从网页中提取,不过我发现cookies也记录有了。直接提取出来就好了

head={'Content-Type':'application/x-www-form-urlencoded',}

for uid in userid:
  data="people=%s&ck=%s" % (uid,ck)
  #data='people=47362624&ck=jeGZ'
  print(data)
  rs=requests.post('https://www.douban.com/j/contact/removecontact',headers=head,cookies=dbcookies,data=data).text
  print(rs)

以上这篇python3批量删除豆瓣分组下的好友的实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django使用html模板减少代码代码解析

django使用html模板减少代码代码解析

看下面两个页面: 一个显示文章列表,一个显示文章详细信息,其中的部分内容相同,有可以重用的部分。 所有就此例可以设置三个html文件:重用部分,目录部分,文章部分。 重用部分: ba...

微信跳一跳python辅助脚本(总结)

微信跳一跳python辅助脚本(总结)

这段时间微信跳一跳这个游戏非常火爆,但是上分又非常的难,对于程序员来说第一个念头就是通过写一个辅助脚本外挂让上分变的容易,python现在比较火,我们一起来以python语言为基础总结以...

kafka-python 获取topic lag值方式

说真,这个问题看上去很简单,但“得益”与kafka-python神奇的文档,真的不算简单,反正我是搜了半天还看了半天源码。 直接上代码吧 from kafka import Simp...

PyQt5每天必学之布局管理

PyQt5每天必学之布局管理

在GUI编程中有一个不容忽视的部分,那就是布局管理。布局管理掌控着我们的控件在应用程序窗口如何摆放。布局管理可以通过两种方式来完成。我们可以使用绝对定位或布局类两种方法控制程序窗口中的控...

python与sqlite3实现解密chrome cookie实例代码

本文研究的主要问题:有一个解密chrome cookie的事情,google出了代码,却不能正常执行,原因在于sqlite3的版本太低,虽然我切换到了python3.5的环境,但sqli...