python实现自动登录人人网并采集信息的方法

本文实例讲述了python实现自动登录人人网并采集信息的方法。分享给大家供大家参考。具体实现方法如下:

#!/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):
    '''设置用户登录信息'''
    self.name = username
    self.pwd = password
    self.domain = domain
    self.origURL = origURL
  def login(self):
    '''登录人人网'''
    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):
    '''查看好友的更新状态'''
    self.__caiinfo()
  def __caiinfo(self):
    '''采集信息'''
    h3patten = re.compile('<article>(.*?)</article>')#匹配范围
    apatten = re.compile('<h3.+>(.+)</h3>:')#匹配作者
    cpatten = re.compile('</a>(.+)\s')#匹配内容
    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'#你的人人网的帐号
password = 'password'#你的人人网的密码
domain = 'www.renren.com'#人人网的地址
origURL = 'http://www.renren.com/home'#人人网登录以后的地址
ren.setinfo(username,password,domain,origURL)
ren.login()

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

(0)

相关推荐

  • Python自动发邮件脚本

    缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月,看看效果再拓展吧. 脚本主要是通过Python写的,调的smtplib库,这些是基础,大家在网上一搜一大堆,今天主要给大家讲解下如何避免进入垃圾邮件系统,以及整个系统搭建时的一些思想.可能刚搞Python不久,有很多可能是错误的写法望大家提出来哈~ 配置 CentOS7.0系统 Python 3.4

  • python实现二维码扫码自动登录淘宝

    一个小项目自动登录淘宝联盟抓取数据,由于之前在Github上看过类似用Python写的代码因此选择用Python来写,第一次用Python正式写程序还是被其"简单"所震撼,当然用的时候还是对其(2.7版)编码.迁移环境等问题所困扰,还好后来都解决了. 言归正传,抓取淘宝联盟的数据首先要解决的就是登录的问题,之前一般会碰到验证码的困扰,现在支持二维码扫码登录反而简单了,以下是登录的Python代码,主要是获取二维码打印,然后不断的检查扫码状态,如果过期了重新请求二维码(主要看逻辑,由于有

  • 使用python实现baidu hi自动登录的代码

    复制代码 代码如下: # _*_ coding:utf-8 _*_# name login_baidu.pyimport urllib,urllib2,httplib,cookielibdef auto_login_hi(url,name,pwd):    url_hi="http://passport.baidu.com/?login"    #设置cookie    cookie=cookielib.CookieJar()    cj=urllib2.HTTPCookieProce

  • python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)

    baiduclient.py 复制代码 代码如下: import urllib.parseimport gzipimport jsonimport refrom http.client import HTTPConnectionfrom htmlutils import TieBaParserimport httputils as utils # 请求头headers = dict()headers["Connection"] = "keep-alive"heade

  • Python实现自动登录百度空间的方法

    本文实例讲述了Python实现自动登录百度空间的方法.分享给大家供大家参考,具体如下: 开发环境:Fedora12 + Python2.6.2 #!/usr/bin/python # coding: GBK import urllib,urllib2,httplib,cookielib def auto_login_hi(url,name,pwd): url_hi="http://passport.baidu.com/?login" #设置cookie cookie=cookielib

  • 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 #登录模块 在网上

  • python实现带验证码网站的自动登陆实现代码

    早听说用python做网络爬虫非常方便,正好这几天单位也有这样的需求,需要登陆XX网站下载部分文档,于是自己亲身试验了一番,效果还不错. 本例所登录的某网站需要提供用户名,密码和验证码,在此使用了python的urllib2直接登录网站并处理网站的Cookie. Cookie的工作原理: Cookie由服务端生成,然后发送给浏览器,浏览器会将Cookie保存在某个目录下的文本文件中.在下次请求同一网站时,会发送该Cookie给服务器,这样服务器就知道该用户是否合法以及是否需要重新登录. Pyth

  • Python 自动化表单提交实例代码

    今天以一个表单的自动提交,来进一步学习selenium的用法 练习目标 0)运用selenium启动firefox并载入指定页面(这部分可查看本人文章 http://www.cnblogs.com/liu2008hz/p/6958126.html) 1)页面元素查找(多种查找方式:find_element_*) 2)内容填充(send_keys) 3)iframe与父页面切换(switch_to_frame是切换到iframe,switch_to_default_content是切换到主页面)

  • Python自动登录126邮箱的方法

    本文实例讲述了Python自动登录126邮箱的方法.分享给大家供大家参考.具体实现方法如下: import sys, urllib2, urllib,cookielib import re cookie = cookielib.LWPCookieJar() opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) urllib2.install_opener(opener) url='http://entry.mail.12

  • python 实现自动远程登陆scp文件实例代码

     python 实现自动远程登陆scp文件实例代码 实现实例代码: #!/usr/bin/expect if {$argc!=3} { send_user "Usage: $argv0 {path1} {path2} {Password}\n\n" exit } set path1 [lindex $argv 0] set path2 [lindex $argv 1] set Password [lindex $argv 2] spawn scp ${path1} ${path2} e

随机推荐