python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并采集信息的方法
本文實(shí)例講述了python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并采集信息的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
#!/usr/bin/python # -*- coding: utf-8 -*- import sys import re import urllib2 import urllib import cookielib class Renren(object): def __init__(self): self.name = self.pwd = self.content = self.domain = self.origURL = '' self.operate = ''#登錄進(jìn)去的操作對(duì)象 self.cj = cookielib.LWPCookieJar() try: self.cj.revert('./renren.coockie') except Exception,e: print e self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj)) urllib2.install_opener(self.opener) def setinfo(self,username,password,domain,origURL): '''設(shè)置用戶登錄信息''' self.name = username self.pwd = password self.domain = domain self.origURL = origURL def login(self): '''登錄人人網(wǎng)''' params = { 'domain':self.domain, 'origURL':self.origURL, 'email':self.name, 'password':self.pwd} print 'login.......' req = urllib2.Request( 'http://www.renren.com/PLogin.do', urllib.urlencode(params) ) self.file=urllib2.urlopen(req).read() newsfeed = open('news.html','w') try: newsfeed.write(self.file) except Exception, e: newsfeed.close() self.operate = self.opener.open(req) print type(self.operate) print self.operate.geturl() if self.operate.geturl(): print 'Logged on successfully!' self.cj.save('./renren.coockie') self.__viewnewinfo() else: print 'Logged on error' def __viewnewinfo(self): '''查看好友的更新狀態(tài)''' self.__caiinfo() def __caiinfo(self): '''采集信息''' h3patten = re.compile('<article>(.*?)</article>')#匹配范圍 apatten = re.compile('<h3.+>(.+)</h3>:')#匹配作者 cpatten = re.compile('</a>(.+)\s')#匹配內(nèi)容 content = h3patten.findall(self.file) print len(content) infocontent = self.operate.readlines() print type(infocontent) print 'friend newinfo:' for i in infocontent: content = h3patten.findall(i) if len(content) != 0: for m in content: username = apatten.findall(m) info = cpatten.findall(m) if len(username) !=0: print username[0],'說:',info[0] print '----------------------------------------------' else: continue ren = Renren() username = 'username'#你的人人網(wǎng)的帳號(hào) password = 'password'#你的人人網(wǎng)的密碼 domain = 'www.renren.com'#人人網(wǎng)的地址 origURL = 'http://www.renren.com/home'#人人網(wǎng)登錄以后的地址 ren.setinfo(username,password,domain,origURL) ren.login()
希望本文所述對(duì)大家的Python序設(shè)計(jì)有所幫助。
相關(guān)文章
django項(xiàng)目登錄中使用圖片驗(yàn)證碼的實(shí)現(xiàn)方法
這篇文章主要介紹了django項(xiàng)目登錄中使用圖片驗(yàn)證碼的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08certifi輕松地管理Python證書信任鏈保障網(wǎng)絡(luò)安全
在使用Python進(jìn)行網(wǎng)絡(luò)通信時(shí),我們通常需要使用第三方庫來處理HTTPS連接,其中,certifi庫是一個(gè)非常實(shí)用的庫,可以幫助我們輕松地管理Python的證書信任鏈2024-01-01用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例
下面小編就為大家分享一篇用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過來看看吧2017-12-12python使用正則表達(dá)式分析網(wǎng)頁中的圖片并進(jìn)行替換的方法
這篇文章主要介紹了python使用正則表達(dá)式分析網(wǎng)頁中的圖片并進(jìn)行替換的方法,涉及Python使用正則表達(dá)式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03python實(shí)現(xiàn)在內(nèi)存中讀寫str和二進(jìn)制數(shù)據(jù)代碼
這篇文章主要介紹了python實(shí)現(xiàn)在內(nèi)存中讀寫str和二進(jìn)制數(shù)據(jù)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04使用Python分析文本數(shù)據(jù)的詞頻并詞云圖可視化
這篇文章主要給大家介紹了關(guān)于如何使用Python分析文本數(shù)據(jù)的詞頻并詞云圖可視化,文章中有詳細(xì)的圖文介紹和代碼示例,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-09-09