`
zuroc
  • 浏览: 1307785 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

用python msnlib抓取联系人

阅读更多

http://blitiri.com.ar/p/msnlib/

This is an opensource Python implementation for the MSN messenger protocol version 8.
The base is a library (called msnlib), which uses a non-blocking callback scheme.
库能用,不过文档一无所有,演示代码也不清晰,和tk写的图像界面混在一起.
不过能用就好.

import socket
import select
import time

import msnlib
import msncb

def void(s): pass
msnlib.debug = msncb.debug = void


def msn_friend_list(email,password):
    m = msnlib.msnd()
    m.cb = msncb.cb()

    m.email = email.strip()
    m.pwd = password.strip()
    m.encoding = 'utf-8'
    try:
        m.login()
        m.sync()
    except:
        return False
    m.change_status('invisible')

    begin_time = time.time()

    users = set()
    while 1:
        fds = m.pollable()
        infd = fds[0]
        outfd = fds[1]

        fds = select.select(infd, outfd, [], 0)

        for i in fds[0] + fds[1]:
            try:
                m.read(i)
            except ('SocketError', socket.error), err:
                if i != m:
                    m.close(i)
        merge_users=users|set(m.users.keys())
        if len(users) == len(merge_users):
            end_time = time.time()
            if len(users):
                if end_time-begin_time >= 2:
                    break
            elif end_time-begin_time >= 3:
                break
            time.sleep(0.05)
        else:
            users = merge_users
            begin_time=time.time()
    result={}
    for i in users:
        result[i]=m.users[i].nick
   
    return result
分享到:
评论

相关推荐

    牛B的Python模块

    1. **msnlib**:用于与MSN Messenger服务进行交互的Python库,可以发送消息、获取联系人列表等。 2. **pymsn**:另一个与MSN Messenger相关的库,提供了更高级别的API来处理聊天会话。 3. **msnp**:一个更简单的库...

    msnlib-开源

    4. **丰富的功能集**:msnlib 提供了发送消息、接收消息、管理联系人、加入群组、文件传输、表情发送等功能,满足了大部分 MSN 客户端的基本需求。 5. **事件驱动编程**:通过事件驱动模型,msnlib 能够处理各种...

    获取MSN Messenger的联系人列表 C++源代码

    在本文中,我们将深入探讨如何使用C++编程语言来实现获取MSN Messenger的联系人列表的功能。MSN Messenger(现已被Microsoft的Skype所取代)是一款曾经流行的即时通讯软件,它允许用户与他们的联系人进行文字聊天、...

    msnlib开发包

    msn开发包,欢迎大家一起研究,代码也不多,转载的,开源的

    JMSN-开源

    JMSN是纯Java Microsoft MSN Messenger克隆,包括即时消息,文件发送/接收,msnlib(供开发人员使用)和其他聊天日志等。JMSN具有MSN所没有的许多有趣功能。

Global site tag (gtag.js) - Google Analytics