當前位置:首頁 » 網頁前端 » 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的初學者沒有特別的幫助 。