Board logo

标题: [原创代码] python3批量删除豆瓣分组下的好友 [打印本页]

作者: codegay    时间: 2016-6-7 04:21     标题: python3批量删除豆瓣分组下的好友

python3批量删除豆瓣分组下的好友
  1. """
  2. python3批量删除豆瓣分组下的好友
  3. 2016年6月7日 03:43:42 codegay
  4. 我两年前一时冲动在豆瓣关注了很多豆瓣的员工,好多,有四百个。
  5. 我现在一时冲动想取消关注...,写这么一个脚本可以用来加快删除的速度。
  6. cookies还是直接从chrome读取出来e,
  7. 参考我之前刚写的代码 python3从chrome浏览器读取cookie,
  8. """
  9. import os
  10. import sqlite3
  11. import re
  12. import requests
  13. from win32.win32crypt import CryptUnprotectData
  14. def getcookiefromchrome(host='.oschina.net'):
  15.     cookiepath=os.environ['LOCALAPPDATA']+r"\Google\Chrome\User Data\Default\Cookies"
  16.     sql="select host_key,name,encrypted_value from cookies where host_key='%s'" % host
  17.     with sqlite3.connect(cookiepath) as conn:
  18.         cu=conn.cursor()        
  19.         cookies={name:CryptUnprotectData(encrypted_value)[1].decode() for host_key,name,encrypted_value in cu.execute(sql).fetchall()}
  20.         print(cookies)
  21.         return cookies
  22. #运行环境windows 2012 server python3.4 x64 pywin32 chrome 50
  23. #getcookiefromchrome()
  24. #getcookiefromchrome('.baidu.com')
  25. dbcookies=getcookiefromchrome('.douban.com')
  26. txt=requests.get('https://www.douban.com/contacts/list?tag=1718',cookies=dbcookies).text
  27. #print(txt)
  28. userid=re.findall(r'id="u(\d+)"',txt)
  29. ck=dbcookies['ck']
  30. #ck的值在每次重新登录豆版后会变化。
  31. #可以从网页中提取,不过我发现cookies也记录有了。直接提取出来就好了
  32. head={'Content-Type':'application/x-www-form-urlencoded',}
  33. for uid in userid:
  34.     data="people=%s&ck=%s" % (uid,ck)
  35.     #data='people=47362624&ck=jeGZ'
  36.     print(data)
  37.     rs=requests.post('https://www.douban.com/j/contact/removecontact',headers=head,cookies=dbcookies,data=data).text
  38.     print(rs)
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2