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程序设计有所帮助。

相关文章

Python迭代器定义与简单用法分析

本文实例讲述了Python迭代器定义与简单用法。分享给大家供大家参考,具体如下: 一、什么是迭代器 迭代,顾名思义就是重复做一些事很多次(就现在循环中做的那样)。迭代器是实现了__nex...

Python 详解基本语法_函数_返回值

Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分。函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作。可以说是...

dataframe 按条件替换某一列中的值方法

如下所示: import pandas as pd content = ['T', 'F'] * 10 data = pd.DataFrame(content, columns=...

Python实现的批量修改文件后缀名操作示例

Python实现的批量修改文件后缀名操作示例

本文实例讲述了Python实现的批量修改文件后缀名操作。分享给大家供大家参考,具体如下: windows和linux下都支持该程序  以下程序可以进行批量修改文件后缀名:...

Python闭包实现计数器的方法

本文实例讲述了Python闭包实现计数器的方法。分享给大家供大家参考。具体实现方法如下: 先来看看专业的解释:闭包(Closure)是词法闭包(Lexical Closure)的简称,是...