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

1196次阅读  |  发布于5年以前

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批量删除豆瓣分组下的好友的实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8