python实现自动登录人人网并访问最近来访者实例

yipeiwu_com7年前Python基础

本文实例讲述了python实现自动登录人人网并访问最近来访者的方法,分享给大家供大家参考。

具体方法如下:

##-*- coding : gbk -*- 
#在 
import os 
from xml.dom import minidom  
import re  
import urllib  
import urllib2  
import cookielib  
import datetime 
import time 
from urllib2 import URLError,HTTPError 
#登录模块 在网上找的 
def renren_login(logfile,username,password): 
  logfile.write(str(datetime.datetime.now()) + ' renren/r/n') 
  cj = cookielib.CookieJar() 
  post_data = urllib.urlencode( 
    {'email':username, 
     'password':password, 
    } 
    ) 
  path = 'http://www.renren.com/PLogin.do' 
  opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
  urllib2.install_opener(opener) 
  req = urllib2.Request(path,post_data) 
   
  try: 
    conn = urllib2.urlopen(req) 
  except URLError,e: 
    print 'URLError' 
    logfile.write('URLError:' + str(e.code) + '/r/n') 
    return False 
  except HTTPError,e:   
    logfile.write('HTTP Error:'+e.reason + '/r/n') 
    return False 
  if conn.geturl() == 'http://www.renren.com/home': 
    print 'success' 
    logfile.write('Task finished/r/n') 
    open('login_renren.html','w').write(conn.read()) 
    return conn.read() 
  else: 
    print 'Task Failed' 
    logfile.write('Task failed/r/n') 
#生成的登录日志文件     
file_object = open("log.txt",'w')     
login_index = renren_login(file_object,'用户名','密码') #这地方换成登录的用户名和密码  
 
#parse 解析网页 
r1 = re.compile('''''http://www.renren.com/profile.do\?portal=homeFootprint&ref=home_footprint&id=\d{9}''') 
li = r1.findall(open("login_renren.html","r").read()) 
#将解析到的最近来访的地址放入字典中
url_dict ={}for item in li: print item url_dict.setdefault(item) 
#访问最近来访者
for item in url_dict.iterkeys(): os.startfile(item) 

希望本文所述对大家的Python程序设计有所帮助。

相关文章

详解多线程Django程序耗尽数据库连接的问题

Django的ORM是非常好用的,哪怕不是做Web项目也值得一用,所以网上也可以找到不少使用 Django 开发非Web项目的资料,因为除了ORM之个,命令行、配置文件等组件也非常好用。...

Python的消息队列包SnakeMQ使用初探

一、关于snakemq的官方介绍 SnakeMQ的GitHub项目页:https://github.com/dsiroky/snakemq 1.纯python实现,跨平台 2.自动重连接...

Django对数据库进行添加与更新的例子

先把models.py摆这儿 #models.py class UserProfile(AbstractUser): ''' 继承Django的AbstractUser 并向里面...

在Django的模型中添加自定义方法的示例

为了给你的对像添加一个行级功能,那就定义一个自定义方法。 有鉴于manager经常被用来用一些整表操作(table-wide),模型方法应该只对特殊模型实例起作用。 这是一项在模型的一个...

python在线编译器的简单原理及简单实现代码

python在线编译器的简单原理及简单实现代码

我们先来看一下效果(简单的写了一个): 原理:将post请求的代码数据写入了服务器的一个文件,然后用服务器的python编译器执行返回结果 实现代码: #flaskrun...