日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python实现人人网留言获取与一键删除

發(fā)布時間:2023/12/20 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现人人网留言获取与一键删除 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近有點著迷Python,學(xué)習(xí)基本語法之后,首先從爬蟲開始,看了《使用python登錄人人網(wǎng)并發(fā)表狀態(tài)》一文后,很感興趣,然后又曾經(jīng)苦于人人網(wǎng)聊天記錄刪除的繁瑣,于是決定寫一個聊天記錄一鍵刪除的小腳本,好啦,廢話不多說:

#encoding:utf-8 import urllib2, urllib, cookielib, re, stringclass spider():def __init__(self, email, password):self.email = emailself.password = passwordself.domain = 'renren.com'try:cookie = cookielib.CookieJar()cookieProc = urllib2.HTTPCookieProcessor(cookie)except:raiseelse:opener = urllib2.build_opener(cookieProc)urllib2.install_opener(opener)def login(self):print 'login in...'url = 'http://www.renren.com/PLogin.do'postdata = {'email':self.email,'password':self.password,'domain':self.domain}req = urllib2.Request(url, urllib.urlencode(postdata))self.file = urllib2.urlopen(req).read()reInfo = re.compile(r"get_check:'(.*?)',get_check_x:'(.*?)'.*?'id':'(.*?)'", re.DOTALL)info = reInfo.findall(self.file)self.id = info[0][2]self.tok = info[0][0]self.rtk = info[0][1]print 'login in successfully'def publish(self, content): #發(fā)表狀態(tài)url1 = 'http://shell.renren.com/' + self.id + '/status'postdata = {'content' : content,'hostid' : self.id,'requestToken': self.tok,'_rtk' : self.rtk,'channel' : 'renren'}req1 = urllib2.Request(url1, urllib.urlencode(postdata))url_f=urllib2.urlopen(req1)self.file1 = url_f.read()return url_f

上面登陸部分代碼與參考文章一樣,感謝前輩,下面開始分析人人網(wǎng)的聊天記錄,通過Firebug抓包分析可以發(fā)現(xiàn),人人網(wǎng)留言http://gossip.renren.com中,因此樓主準(zhǔn)備從該網(wǎng)頁找出留言的內(nèi)容及留言的id,但是后來發(fā)現(xiàn)每次讀出的都是第一頁的聊天記錄,該網(wǎng)頁的<li>模塊中會調(diào)用js腳本,切換內(nèi)容,樓主不知道怎么搞定,有待繼續(xù)研究。。。。于是樓主取巧了,每次刪光第一頁,刷新頁面,繼續(xù)刪除第一頁,只到刪除所有留言。

刪除留言的模擬過程通過抓包就可以發(fā)現(xiàn)在http://gossip.renren.com/delgossip.do上,向鏈接發(fā)送一個如下數(shù)據(jù)即可:

postdata={"id":comment_id,"owner":self.id,"age":"recent","requestToken":self.tok,"_rtk":self.rtk}


?

其他部分代碼如下:

def getgossiprecent(self): #獲得最近留言url="http://gossip.renren.com/#navBar"temp_f=urllib2.urlopen(url)temp_file=temp_f.read()#獲取留言總數(shù)temp_rules=re.compile(r'''.input id=.gossipCount. type=.hidden. name=.. value=.(\d+)''')self.gossipCount=temp_rules.findall(temp_file)[0]#獲取留言temp_rules=re.compile(r'''<span style="color:#000000"><span style="color:#000000">(.+)</span></span>''')result=temp_rules.findall(temp_file)#獲取留言idtemp_rules=re.compile(r"delComment\D+(\d+)\D+(\d+)\D+(\d+)..return")self.gossip=temp_rules.findall(temp_file)self.gossip_id=[]self.gossip_guest=[]for para in self.gossip:self.gossip_id.append(para[0])self.gossip_guest.append(para[2])def delgossip(self,comment_id): #刪除留言url="http://gossip.renren.com/delgossip.do"postdata={"id":comment_id,"owner":self.id,"age":"recent","requestToken":self.tok,"_rtk":self.rtk}urllib2.urlopen(url,urllib.urlencode(postdata))def delall(self):self.getgossiprecent()while string.atoi(self.gossipCount)>0 : for temp_id in self.gossip_id:self.delgossip(temp_id)self.getgossiprecent()


?

寫完類對象就一切OK啦

?

總結(jié):

第一次寫爬蟲程序,成就感滿滿的,人生苦短,請用Python,哈哈

如何模擬調(diào)用腳本,沒搞定,另外樓主正則表達(dá)式?jīng)]怎么看,代碼中正則表達(dá)那部分槽點滿滿的。

另外樓主為了測試,把自己人人網(wǎng)聊天記錄都刪了。。。

?

打包程序下載地址,有需要的,傳送門:http://pan.baidu.com/s/1ntLT2zf

轉(zhuǎn)載請注明,謝謝

總結(jié)

以上是生活随笔為你收集整理的python实现人人网留言获取与一键删除的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。