当前位置:首页 » 网页前端 » pythonwebqq
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

pythonwebqq

发布时间: 2023-04-21 15:51:36

① ubuntu 安装qq是出现问题, Traceback (most recent call last): File "/usr/lib/python2.6/dist-pac

要装最新的linux通用版2010更新的直接解压就能运行实在不行就webqq比linuxqq好的多、

扒戚丛、cdsoft.tar.gz所在的目录;春樱

sudotar-xzvfsoft.tar.gz仔凳双击qq就行大功告成

② 如何在树莓派上安装QQ

使用WEB QQ啊。有桥肆一个python写的QQ客户端。不过本质还是用的是WEB QQ。只是用webkit实现的,并自动登陆。你搜索一下pythpn-webqq就找得到。

树莓派的几个浏敏皮轿览器都握山不是很好用。速度有些慢。所以通常,我会将它们的js关闭。你如果安装一个chrome可能感觉还是慢。超频到1GB,才会略快些。

使用python-webqq应该是最好的选择了。

③ python qq群机器人怎么弄

网络 小智机器人 然后进贴吧可以买到也可以免费

④ python爬虫做qq机器人的问题

我觉得是可能是因为没带cookie造成的吧?顺便说一下,ptqrtoken是“cookie里面的qrsig的hash33”,代码在github的justko/qzonelib,虽然写的不好,给我加个星星吧:-)

defcheck_qrcode(self):
qrsig=None
foriinself.qq_cookie:
ifi.name=='qrsig':
qrsig=i.value
break
ifqrsigisNone:
衡仔print("QR_Code识别码没有找到,需要重新下载")
raiseRuntimeError
req=urllib.request.Request(
url="https://ssl.ptlogin2.qq.com/ptqrlogin"
"?u1=https%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone"
"&ptqrtoken="+str(QQ.__hash33(qrsig))+
"&ptredirect=0&h=1&御拦圆t=1&g=1&from_ui=1&ptlang=2052"
"&action=0-0-1509338784922"
"&js_ver=10231&js_type=1&login_sig=&pt_uistyle=40&aid=549000912&daid=5&"
)镇塌
res=self.opener.open(req).read().decode()
result=re.match("ptuiCB('([^']*)','[^']*','([^']*)','[^']*','([^']*)','(.*)')",res)
code=result.group(1)
success_url=result.group(2)
info=result.group(3)
username=result.group(4)
returncode,success_url,info,usernamedefcheck_qrcode(self):

⑤ python 抓取人人好友小图不清晰

下载url的内容存成文件可以直接使用
urllib.urlretrieve方法

比如
urllib.urlretrieve("http://a.com/a.jpg","b.jpg")

但是照你的代码这么写的照理也不会出现问题,可以在抓取返链前先在浏览器打开你要抓取的头像的url看看是不搭键是已经失真了
另外这里写的不是很好看,可以改成
picture=urllib.urlopen(eachUrl).read()
pF=file(sn+".jpg"知世巧,'w')
pF.write(picture)
pF.close()
=================
open("%s.jpg" % sn,'w').write(urllib.urlopen(eachUrl).read())

⑥ ubuntu software无法打开,怎么回事

昨天在ubuntu的中安装了一下“Python版webqq客户端”程序,结果今天更新了系统重启后,发现ubuntu软件中心打不开了,在网上找到了如下枯历解决办法。 初步判断是因为安装那个webqq客户端的时候,添加了linuxdeepin(深度)的软件源导致的。 gongstring@chz-desktop:~$ software-center Traceback (most recent call last): File "/usr/bin/software-center"誉乎, line 149, in from softwarecenter.ui.gtk3.app import SoftwareCenterAppGtk3 File "/usr/share/software-center/softwarecenter/ui/gtk3/app.py", line 49, in from softwarecenter.db.application import Application File "/usr/share/software-center/softwarecenter/db/application.py", line 25, in from softwarecenter.backend.channel import is_channel_available File "/usr/share/software-center/softwarecenter/backend/channel.py", line 25, in from softwarecenter.distro import get_distro File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 165, in distro_instance=_get_distro() File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 148, in _get_distro mole = __import__(distro_id, globals(), locals(), [], -1) ImportError: No mole named LinuxDeepin 解决办法如下: sudo gedit /etc/lsb-release (好吧,我不会VIM -.-!) 用以下内容替换其中的文本: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=11.10 DISTRIB_CODENAME=oneiric DISTRIB_DESCRIPTION=“Ubuntu 11.10″ OK,此时应该就可以打开软件源、软件中心了。 不过还是碰到了个问题,软件中心是打开了,页面却一直处于空白的刷新界面。 卸载重装: sudo apt-get autoremove software-center --purge 显示: rmdir: 删除 “/var/cache/software-center/xapian/” 失败: 没有那个文件或目录 dpkg:处理 software-center (--purge)时出错: 子进程 已安装 post-removal 脚本 返回了错误号 1 在处理时有错误发生: software-center E: Sub-process /usr/bin/dpkg returned an error code (1) 查找了庆败悉一下,cache文件夹下没有software-center文件。 sudo mkdir /var/cache/software-center sudo mkdir /var/cache/software-center/xapian sudo apt-get autoremove software-center --purge sudo apt-get install software-center 一切正常。

⑦ QQ空间 开心农场 wedQQ是用什么语言写的c#可以写网页吗c#可以控制底层吗Ruby on Rails会取代java吗

写这些完全没有问题,前端一般采用 ajax + flash 的写法比较多。在我腾讯认识有大量写js和ajax的程序员朋友。

你所说的传言Rbuy会取代java,这在三至五年内还不会发生,
Ruby目前还只是一个脚本语言,类似的脚本语言有: javaScript/Ajax(这个跟java是两回事),python,还有大名响响的Lua(魔兽世界用了它所以现在名气大), 这些脚本目前所做的工作还只能与传统的 c/c++,java等进行分工,无法取代。 当然五困卖塌年后的情况也无法预测,也许Ruby和lua这类的语言也发展到java这种高度也说不定, 但难道lua在发展java就停止发展了吗?

再补充一句,ruby和java目前来说分工不同,强项也不同,两者没有可比性, java目前最历害的就是基于B/s架构配笑的快速开发,有大量的开源项目,有大量的有用的稳定的框汪圆架,如j2ee,ssh等等。 这些不是随便想说超越就能超越的?你想想,微软那么强大,即使是微软弄出个.net和C#也没有超越java,对吗? 更别说其它人了

⑧ 如何在Ubuntu 11.10下 安装并使用QQ

和电脑没有什么关系,现在的linux下qq很多被封杀了。推荐使用pidgin+最新的qq协议,这样用起来还算很方便的,速度快。只是功能还不是很全面,毕森仿镇竟腾讯很蛋疼,老是改协议大烂而此粗且不公开的。
请参考: Ubuntu Linux QQ2010 Pidgin(linuxqq)插件发布下载
http://qyiyunso.blog.163.com/blog/static/35077686201132195627781/

⑨ 如何用python登陆qq读取信息

一次偶然的机会我看见了一个群里的一个QQ号总是根据你所发的消息自动回复,当时很感觉到神奇,我知道可以模拟登录网站,没想到竟然也能模拟登录QQ,首先自己想到的就是如何实现模拟登录PC端的QQ, 开始研究了下,发现QQ所发送的包都很难理解。

于是就转到了网页版的QQ,因为在网页里可以捕获所有的请求从而更好的实现模拟功能!

首先第一步就是打开网页版的qq,打开浏览器的开发者模式 这里可以监控所有的请求!

打开登录界面的的时候

会捕捉到一个GET请求

其中uin是你的QQ号

返回值是 ptui_checkVC('1','','x00x00x00x00x00xa1x92x12');

其中1表示需要验证码 还有一种返回值 ptui_checkVC('0','!LJV','x00x00x00x00x00xa1x92x12') 这种表示是不需要的验证码的

[python]view plain

  • defCheckVerify(self,uin):

  • check="h"

  • check=check.replace('{uin}',uin)

  • pattern=re.compile("ptui_checkVC′(.∗)′,′(.∗)′,′(.∗)′;")

  • result=self.Get(check)

  • checked=pattern.search(result).groups()

  • print'Step1:CheckVerify'

  • return局首checked

  • 获取验证码的方法

  • [python]view plain
  • defGetVerify(self):

  • #url='hage?&uin='+str(self.QQ)+'&aid=1002101&0.45644426648505'+str(random.randint(10,99))

  • verify="htqq.com/getimage?aid=1003903&r=0.6472875226754695&uin={QQ}&cap_cd=aSD-ZVcNEcozlZUurhNYhp-MBHf4hjbJ"

  • verify=verify.replace('{QQ}',self.QQ)

  • path=r"c:/verify/1.jpg"

  • #data=urllib.urlretrieve(url,path)

  • data=urllib2.urlopen(verify)

  • localPic=open(r"c:/verify/1.jpg",'wb')

  • localPic.write(data.read())

  • localPic.close()指神

  • data.close()

  • 输入用户名和密码 还有验证码后发送一个GET请求

    这里面u代表账号 p代表密码 密码是经过一定算法加密的 verify是验证码

    加密算法如下

  • [python]view plain
  • defPasswordSecret(self,password,v1,v2,md5=True):

  • ifmd5==True:

  • password=self.PCMd5(password).upper()

  • length=len(password)

  • temp=''

  • foriinrange(0,length,2):

  • temp+=r'x'唯腊亏+password[i:i+2]

  • returnself.PCMd5(self.PCMd5(self.hex2asc(temp)+self.hex2asc(v2)).upper()+v1).upper()

  • #md5加密函数

  • defPCMd5(self,s):

  • h=hashlib.md5()

  • h.update(s)

  • returnh.hexdigest()

  • #16进制转字符

  • defhex2asc(self,s):

  • _str="".join(s.split(r'x'))

  • length=len(_str)

  • data=''

  • foriinrange(0,length,2):

  • data+=chr(int(_str[i:i+2],16))

  • returndata

  • 然后是登录部分代码

  • [python]view plain
  • defLogin(self,uin,pwd):

  • #获取参数

  • cheked=self.CheckVerify(uin)

  • #加密密码

  • #pwd=self.PasswordSecret(pwd,cheked[1],cheked[2])

  • #pwd=self.PasswordSecret(pwd,r'AAST',r'x00x00x00x00x00xa1x92x12')

  • loginurl="h&t=1&g=1&js_type=0&js_ver=10080&login_sig=YPD0P*&pt_uistyle=5"

  • loginurl=loginurl.replace('{uin}',uin)

  • #loginurl=loginurl.replace('{pwd}',pwd)

  • #loginurl=loginurl.replace('{verify}',cheked[1])

  • #result=Get(loginurl)

  • if(cheked[0]=="1"):

  • #下载验证码

  • self.GetVerify()

  • image=Image.open(r"c:/verify/1.jpg")

  • image.show()

  • code=raw_input("verifycode:").strip()

  • loginurl=loginurl.replace('{verify}',code.upper())

  • pwd=self.PasswordSecret(pwd,r''+code.upper(),cheked[2])

  • #pwd=self.PasswordSecret(pwd,cheked[1],cheked[2])

  • else:

  • loginurl=loginurl.replace('{verify}',cheked[1])

  • pwd=self.PasswordSecret(pwd,cheked[1],cheked[2])

  • loginurl=loginurl.replace('{pwd}',pwd)

  • result=self.Get(loginurl,'ssl.ptlogin2.qq.com','hin2.qq.com/cgi-bin/login?daid=164&target=self&style=5&mibao_css=m_webqq&appid=1003903&enable_qlogin=0&no_verifyimg=1&s_urlm%2Floginproxy.html&f_url=loginerroralert&strong_login=1&login_state=10&t=20140514001',None)

  • print'Step2:Login'

  • pattern=re.compile("ptuiCB′(.∗)′,′(.∗)′,′(.∗)′,′(.∗)′,′(.∗)′,s′(.∗)′;")

  • ret=pattern.search(result).groups()

  • #获取必要的cookie否则第二次登陆会出错

  • self.Get(ret[2])

  • print'Step3:GetCookie'

  • forcinself.cj:

  • ifc.name=="ptwebqq":

  • self.ptwebqq=c.value

  • returnresult


  • 登录成功后服务器会返回一串json数据

    ptuiCB('0','0','ebqq_type%3D10&f_url=&ptlang=2052&ptredirect=100&aid=1003903&daid=164&j_later=0&low_login_hour=0&regmaster=0&pt_login_type=1&pt_aid=0&pt_aaid=0&pt_light=0','0','登录成功!', '小竹');

    第一个为0 就表示登录成功了 ,但是这并没有真正的登录成功

    上面的返回值中的url是用来获取一个关键cookie的 那就是ptwebqq

    然后进行第二次登录,这次才是真正的登录

    请求如下

  • Accept:*/*

  • Accept-Encoding:gzip,deflate,sdch

  • Accept-Language:zh-CN,zh;q=0.8

  • Connection:keep-alive

  • Content-Length:244

  • Content-Type:application/x-www-form-urlencoded

  • Cookie:o_cookie=455910092; RK=fMEaWEZ0Qc; ts_last=web2.qq.com/; ts_refer=www..com/; ts_uid=4588821804; pgv_pvid=914251705; pgv_info=ssid=s3525422600&pgvReferrer=; verifysession=h02LeYrtarkWBZeSu_czkiczeNSNlDm7V1mCm-**; ptui_loginuin=10588690; ptisp=cnc; ptcz=; ptwebqq=; pt2gguin=o0010588690; uin=o0010588690; skey=@gmEO6N2JD; p_uin=o0010588690; p_skey=cZ5*kS-_; pt4_token=1SyuJ39Eq6oKEwEhGIizeg__

  • Host:d.web2.qq.com

  • Origin:h

  • Referer:htttml?v=20110331002&callback=1&id=2

  • User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36

  • Form Dataview sourceview URL encoded

  • r:{"status":"online","ptwebqq":"","passwd_sig":"","clientid":"7963288","psessionid":null}

  • clientid:7963288

  • psessionid:null

  • 其中的ptwebqq就是刚才我们从cookie中获取的

    这部分代码是

  • [python]view plain
  • defLogin2(self):

  • try:

  • url="htel/login2"

  • postdata="r=%7B%22status%22%3A%22online%22%2C%22ptwebqq%22%3A%22{$ptwebqq}%22%2C%22passwd_sig%22%3A%22%22%2C%22clientid%22%3A%22{$clientid}%22%2C%22psessionid%22%3Anull%7D&clientid={$clientid}&psessionid=null"

  • postdata=postdata.replace("{$ptwebqq}",self.ptwebqq)

  • postdata=postdata.replace("{$clientid}",str(self.clientid))

  • print'Step4:Login2'

  • result=self.Post(url,postdata,QQRobot.HOST[0],QQRobot.REFERER[0],QQRobot.ORIGIN[0])

  • retjson=json.loads(result)

  • retjson=retjson["result"]

  • returnretjson

  • exceptException,e:

  • print"Login2error"+str(e)

  • 第二次登陆成功后会返回一个

    '''{"retcode":0,
    "result":{
    "uin":10588690,
    "cip":1707901841,
    "index":1075,
    "port":59571,
    "status":"online",
    "vfwebqq":"85c31018d2",
    "psessionid":"85c31018d2",
    "user_state":0,
    "f":0
    }
    }'''

    这样的数据结构 其中0表示登陆成功

    需要把这写数据保存下来 后面进行操作需要

    登陆成功后我们就可以拉去群列表了

  • [python]view plain
  • #获取群列表信息

  • defGetGroupNameList(self,vfwebqq):

  • try:

  • url="h/get_group_name_list_mask2"

  • postdata="r=%7B%22vfwebqq%22%3A%22{$vfwebqq}%22%7D"

  • postdata=postdata.replace("{$vfwebqq}",vfwebqq)

  • ret=self.Post(url,postdata,QQRobot.HOST[1],QQRobot.REFERER[1],QQRobot.ORIGIN[1])

  • print'Step5:GetGroupList'

  • retjson=json.loads(ret)

  • retjson=retjson["result"]

  • self.grouplist=retjson

  • forgroupinself.grouplist['gnamelist']:

  • printgroup["code"],group["name"]

  • exceptException,e:

⑩ python可以写QQ软件吗

好多年前,delphi出1.0的时候,我是delphi狂热的爱好者。把贵阳市场上的所有delphi全买到。其实也只有几本。 后来2003年的时候,经过深思熟虑学习python,当时把北京市场上的所有python书都买到,也只有几本书。现在网上python的书估计有1个GB。


delphi特别好学,而python是不同的语言,它是脚本。 如果没有学过脚本语言开始会觉着怪。


我学过两个星期还不会编程,后来把它的所有library的帮助也看了一遍。最后才明白几个道理。

  1. library帮助就是最好的python教程了

  2. 学习编程需要从学习别人的程序开始。最后可以看看site-packages目录里的源码

  3. 多练习,建立自己的python学习笔记与库(又叫cookbook),这样会加速你的学习


大约用了几年时间,python已经熟悉到主要的库都背下来了。不过仍然有大部分的python领域我还没有涉及。不过足够用了。


python已经有一个webqq的封装版桥此本,很简单,100行左右。在linux上常用。


如果写一套完成的qq,对于python来讲太容易了。 就相当于一个作业。很轻松,2-3天就做完了。客户端与服务端可以一起做。


python是很强大的,快速开发语言。某些方面比delphi快。不过界面方面delphi比python又强了几代。


C语言是一个基础学习语言。与python有很大关系。因为python与C可以很好的融合。 这是python的高级话题,开始的时候,敏神迅C与python完全没有关系。后来你会交叉使用。


C语言是一个独立的语言,学习好有单独的用途,当然瞎睁对于java, c++, 其它的三代语言学习都有帮助。但是对python的初学者没有特别的帮助 。