python實現(xiàn)自動登錄人人網(wǎng)并采集信息的方法
更新時間:2015年06月28日 15:27:24 作者:不吃皮蛋
這篇文章主要介紹了python實現(xiàn)自動登錄人人網(wǎng)并采集信息的方法,涉及Python模擬登陸及正則匹配的相關(guān)技巧,需要的朋友可以參考下
本文實例講述了python實現(xiàn)自動登錄人人網(wǎng)并采集信息的方法。分享給大家供大家參考。具體實現(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 = ''#登錄進去的操作對象 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)的帳號 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()
希望本文所述對大家的Python序設(shè)計有所幫助。
相關(guān)文章
certifi輕松地管理Python證書信任鏈保障網(wǎng)絡(luò)安全
在使用Python進行網(wǎng)絡(luò)通信時,我們通常需要使用第三方庫來處理HTTPS連接,其中,certifi庫是一個非常實用的庫,可以幫助我們輕松地管理Python的證書信任鏈2024-01-01用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實例
下面小編就為大家分享一篇用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨想過來看看吧2017-12-12python使用正則表達式分析網(wǎng)頁中的圖片并進行替換的方法
這篇文章主要介紹了python使用正則表達式分析網(wǎng)頁中的圖片并進行替換的方法,涉及Python使用正則表達式的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03python實現(xiàn)在內(nèi)存中讀寫str和二進制數(shù)據(jù)代碼
這篇文章主要介紹了python實現(xiàn)在內(nèi)存中讀寫str和二進制數(shù)據(jù)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04使用Python分析文本數(shù)據(jù)的詞頻并詞云圖可視化
這篇文章主要給大家介紹了關(guān)于如何使用Python分析文本數(shù)據(jù)的詞頻并詞云圖可視化,文章中有詳細的圖文介紹和代碼示例,對我們的學(xué)習或工作有一定的幫助,需要的朋友可以參考下2023-09-09