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

相关文章

PHP实现发送和接收JSON请求

现在微服务中,很多API由于需要传递的参数较多所以要求用包含所有参数的JSON数据作为POST请求的请求体来替代FormData传递参数的方式,在参数量较多时POST JSON要比POS...

Python中functools模块的常用函数解析

1.partial 首先是partial函数,它可以重新绑定函数的可选参数,生成一个callable的partial对象: >>> int('10') # 实际上等...

pytorch在fintune时将sequential中的层输出方法,以vgg为例

有时候我们在fintune时发现pytorch把许多层都集合在一个sequential里,但是我们希望能把中间层的结果引出来做下一步操作,于是我自己琢磨了一个方法,以vgg为例,有点僵硬...

Python2与Python3的区别点整理

python解释器默认编码(python2与python3的区别一) python2 解释器默认编码:ascii python3 解释器默认编码:utf-8 输入(python2与p...

python寻找list中最大值、最小值并返回其所在位置的方法

实例如下所示: c = [-10,-5,0,5,3,10,15,-20,25] print c.index(min(c)) # 返回最小值 print c.index(max(c)...