[原创]WEBQQ,与QQ通信程序演示(开源)

导读:
   WEBQQ,与QQ通信程序演示(开源)
  本人只做了个原型版本,能与QQ聊天,基于APPLET技术实现,界面用的是UCREN的东东和基于Jquery的树,欢迎大家测试,访问地址:
  http://www3.37kf.com:8080/search/q.html
  其中用到一个核心js,为im.js文件,未压缩,其他代码也所有都没有压缩。登录后的效果
  
  
   系统要求:
   JRE环境,并打开在JAVA_HOME/LIB/SERITY/JAVA.POLICY,追加如下行(允许腾讯服务器的SOCKET连接:
  permission java.net.SocketPermission "219.133.60.18:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.63.53:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "58.251.62.42:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "58.251.60.46:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "58.251.62.41:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "222.202.96.186:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "58.61.165.222:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "121.14.75.60:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "58.251.60.89:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "58.61.34.25:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "58.61.34.26:1024-","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.40.179:8000","connect,resolve,listen";
  permission java.net.SocketPermission "58.251.62.67:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.40.138:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.60.38:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.48.89:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.60.36:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.38.135:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.49.164:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.48.88:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.60.32:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.48.88:8000","connect,resolve,listen";
  permission java.net.SocketPermission "219.133.60.39:8000","connect,resolve,listen";
  permission java.net.SocketPermission "121.14.75.62:8000","connect,resolve,listen";
  permission java.net.SocketPermission "222.202.96.187:8000","connect,resolve,listen";
  permission java.net.SocketPermission "im.tencent.com:1024-","connect,resolve,listen";
  [本帖最后由 kongshanxuelin 于 2007-12-5 14:00 编辑 ]

本文转自
http://bbs.51js.com/thread-74431-1-3.html
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于QQ聊天记录是需要登录QQ账号才能查看的,因此需要使用QQ的API或者模拟登录的方式来实现爬取聊天记录的功能。以下是使用模拟登录的方式实现的Python代码: ```python import requests from bs4 import BeautifulSoup # 登录QQ账号,并获取cookie def login_qq(username, password): login_url = 'https://xui.ptlogin2.qq.com/cgi-bin/xlogin' headers = { 'Referer': 'https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=715030901&daid=73&pt_no_auth=1&s_url=https%3A%2F%2Fid.qq.com%2Findex.html', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' } data = { 'u': username, 'p': password, 'verifycode': '', 'webqq_type': '40', 'remember_uin': '1', 'login2qq': '1', 'aid': '715030901', 'u1': 'https://id.qq.com/index.html', 'ptredirect': '0', 'h': '1', 'ptlang': '2052', 'daid': '73', 'from_ui': '1', 'pttype': '1', 'dumy': '', 'fp': 'loginerroralert', 'action': '0-35-1495675005110', 'mibao_css': 'm_webqq', 't': '1', 'g': '1', 'js_type': '0', 'js_ver': '10231', 'login_sig': '', 'pt_rsa': '0', 'pt_qzone_sig': '0', 'pt_vcode_v1': '0', 'pt_verifysession_v1': '', 'pt_randsalt': '2', 'pt_jstoken': '2040674265' } session = requests.Session() response = session.post(login_url, headers=headers, data=data) return session.cookies.get_dict() # 获取QQ聊天记录 def get_qq_chat_history(qq_number, cookie): chat_url = 'https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/qqchat_list_v2' headers = { 'Referer': 'https://user.qzone.qq.com/{}/infocenter'.format(qq_number), 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36', 'Cookie': 'uin=o{}; skey={}'.format(qq_number, cookie['skey']) } params = { 'uin': qq_number, 'start': 0, 'num': 10, 'cgi_host': 'http://m.qzone.qq.com/cgi-bin', 'callback': 'handleTList', 't': '0.4908397081636454', 'g_tk': '5381' } session = requests.Session() response = session.get(chat_url, headers=headers, params=params) soup = BeautifulSoup(response.text, 'html.parser') chats = soup.find_all('li', class_='list_item') for chat in chats: sender = chat.find('a', class_='sender').text.strip() content = chat.find('div', class_='content').text.strip() print('{}: {}'.format(sender, content)) # 测试代码 if __name__ == '__main__': qq_number = '123456789' # QQ号码 username = 'your_qq_username' # 登录QQ账号 password = 'your_qq_password' # 登录QQ密码 cookie = login_qq(username, password) # 登录QQ账号,并获取cookie get_qq_chat_history(qq_number, cookie) # 获取QQ聊天记录 ``` 上述代码中,`login_qq`函数用于模拟登录QQ账号,并获取cookie信息;`get_qq_chat_history`函数用于获取QQ聊天记录。通过调用这两个函数,即可实现获取QQ聊天记录的功能。需要注意的是,QQ聊天记录的获取需要登录QQ账号,因此需要提供正确的QQ账号和密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值