163,qq的mail可以用程序读取某个账户的通讯录吗?


我要实现的功能是:用户输入163或者QQ的邮箱和密码,然后读取他邮箱里的通讯录。这两个邮箱有类似于gmail的这种api吗?

gmail email

DannyR 11 years, 5 months ago

可以用程序模仿浏览器登陆邮箱,然后读取联系人信息。

#! /usr/bin/env python
# coding: utf8
import requests

url = 'http://mail.qq.com/cgi-bin/combine_addrlist?sid=XYX3QTKCj3wmIW08&method=list&t=addr_listall&category=all&view=normal&loc=frame_html,,,23#stattime=1364898727748'   #用浏览器获取联系人列表的地址
user_agent = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31'

cookie = '...' #从浏览器获得本次登陆邮箱的cookie

headers = {
        'User-Agent': user_agent,
        'Referer': url,
    'Cookie' : cookie
}

req = requests.get(url, headers=headers)

f = open('list.html','w') 
f.write(req.content)
#f.writelines(data)
f.close()

然后从下载到的html文件中抽取联系人数据,就是下图中的n="AMAZING?!" m="[email protected]" >
捕获.PNG

拔哥小树杈 answered 11 years, 5 months ago

Your Answer