把Email和password改成你的人人账号
#-*- coding:UTF-8 -*- |
02 |
''' |
03 |
====================================== |
04 |
此程序根据 http://www.oschina.net/code/snippet_148170_10661 内容改编 |
05 |
Adapted BY: bepcao |
06 |
Mail:peterc9511@gmail.com |
07 |
====================================== |
08 |
''' |
09 |
from sgmllib import SGMLParser
|
10 |
import sys,urllib2,urllib,cookielib
|
11 |
import datetime
|
12 |
import time
|
13 |
class spider(SGMLParser):
|
14 |
def __init__( self ,email,password):
|
15 |
SGMLParser.__init__( self )
|
16 |
self .h3 = False
|
17 |
self .h3_is_ready = False
|
18 |
self .div = False
|
19 |
self .h3_and_div = False
|
20 |
self .a = False
|
21 |
self .depth = 0
|
22 |
self .names = ""
|
23 |
self .dic = {}
|
24 |
|
25 |
self .email = email
|
26 |
self .password = password
|
27 |
self .domain = 'renren.com'
|
28 |
try :
|
29 |
cookie = cookielib.CookieJar()
|
30 |
cookieProc = urllib2.HTTPCookieProcessor(cookie)
|
31 |
except :
|
32 |
raise
|
33 |
else :
|
34 |
opener = urllib2.build_opener(cookieProc)
|
35 |
urllib2.install_opener(opener)
|
36 |
37 |
def login( self ):
|
38 |
print '开始登录'
|
39 |
url = 'http://www.renren.com/PLogin.do'
|
40 |
postdata = {
|
41 |
'email' : self .email,
|
42 |
'password' : self .password,
|
43 |
'domain' : self .domain
|
44 |
}
|
45 |
req = urllib2.Request(
|
46 |
url,
|
47 |
urllib.urlencode(postdata)
|
48 |
)
|
49 |
|
50 |
self . file = urllib2.urlopen(req).read()
|
51 |
idPos = self . file .index( "'id':'" )
|
52 |
self . id = self . file [idPos + 6 :idPos + 15 ]
|
53 |
tokPos = self . file .index( "get_check:'" )
|
54 |
self .tok = self . file [tokPos + 11 :tokPos + 21 ]
|
55 |
rtkPos = self . file .index( "get_check_x:'" )
|
56 |
self .rtk = self . file [rtkPos + 13 :rtkPos + 21 ]
|
57 |
|
58 |
59 |
60 |
def publish( self ,content):
|
61 |
url1 = 'http://shell.renren.com/' + self . id + '/status'
|
62 |
postdata = {
|
63 |
'content' :content,
|
64 |
'hostid' : self . id ,
|
65 |
'requestToken' : self .tok,
|
66 |
'_rtk' : self .rtk,
|
67 |
'channel' : 'renren' ,
|
68 |
}
|
69 |
req1 = urllib2.Request(
|
70 |
url1,
|
71 |
urllib.urlencode(postdata)
|
72 |
)
|
73 |
self .file1 = urllib2.urlopen(req1).read()
|
74 |
print '%s:\n刚才使用你的人人账号 %s 发了一条状态\n内容为:(%s)' % (datetime.datetime.now(), self .email,postdata.get( 'content' ,''))
|
75 |
76 |
77 |
78 |
renrenspider = spider( 'Email' , 'Password' )
|
79 |
renrenspider.login() |
80 |
content = raw_input ( '请输入状态的内容:' )
|
81 |
renrenspider.publish(content) |
相关推荐
使用python的urllib库实现自动在人人网发状态
Python中的有限状态机库——`transitions`是一个强大的工具,用于在对象之间管理状态转换。这个库使得在Python代码中实现复杂的状态逻辑变得简洁而直观。`transitions`库不仅适用于简单的状态切换,还能处理条件触发...
本文实例讲述了Python实现登录人人网并抓取新鲜事的方法。分享给大家供大家参考。具体如下: 这里演示了Python登录人人网并抓取新鲜事的方法(抓取后的排版不太美观~~) from sgmllib import SGMLParser import sys...
Python是一种广泛使用的高级编程语言,尤其在Web开发、科学计算、自动化和数据分析等领域有广泛应用。在软件工程中,有限状态机(Finite State Machine, FSM)是一个重要的概念,它用于建模系统的行为,通过一系列预...
Python状态机是一种编程模式,它用于模拟有限数量的离散状态以及在这些状态之间转换的规则。这个"Python-人类Python状态机"可能是为初学者或想要简化状态管理的开发者设计的一个实现。让我们深入探讨一下状态机的...
基于python的人体状态识别是指使用python语言实现的人体状态识别系统,该系统可以实时显示识别的结果,具有广泛的应用前景。本文将围绕基于python的人体状态识别,讲解相关的知识点。 1. OpenCV库的应用 OpenCV是...
本教程将深入讲解如何使用Scrapy框架来模拟登录人人网,并实现状态维持,以便在抓取过程中保持用户的登录状态。 ### 1. 模拟登录 模拟登录主要是为了获取网站的cookies,这些cookies是服务器用来识别用户身份的。...
使用Python调用微信本地ocr服务.zip使用Python调用微信本地ocr服务.zip使用Python调用微信本地ocr服务.zip使用Python调用微信本地ocr服务.zip使用Python调用微信本地ocr服务.zip使用Python调用微信本地ocr服务.zip...
在Python编程领域,批量登录是一项常见的任务,尤其在自动化测试、数据分析或者运维场景下。本项目专注于使用Python实现QQ账号的批量登录功能,这涉及到网络请求、数据加密、模拟登录等多个知识点。 首先,我们需要...
本文档提供的示例代码详细地展示了如何使用Python的requests库来模拟登录人人网的过程,接下来,我们就对这份文档中的知识点进行详细解析。 首先,提到的`requests`库是一个Python用来处理HTTP请求的第三方库,它...
本示例中,我们探讨的主题是如何使用Python进行登录购票网站的操作。这通常涉及到网络请求、数据解析以及模拟用户行为等关键技术。 首先,从文件`denglu12306.py`来看,这可能是实现登录功能的主要代码文件。在这样...
基于Python深度学习的矿车装载状态计数系统(源码).zip基于Python深度学习的矿车装载状态计数系统(源码).zip基于Python深度学习的矿车装载状态计数系统(源码).zip基于Python深度学习的矿车装载状态计数系统...
使用python调用svn命令行,完成对svn工作目录的自动清理,自动完成解决冲突和恢复版本。使用subprocess,适用于windows和mac os。 使用方法:python jtcleansvn.py workingspacepath
代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~人人网自动登录人人网自动登录是指通过爬虫脚本模拟用户在人人网上进行自动登录,以方便执行需要登录权限的操作,如发表...
之后,你就可以在Python程序中导入并使用它了: ```python import GPUtil # 获取所有GPU信息 gpus = GPUtil.gpus print(gpus) # 筛选空闲GPU available_gpus = GPUtil.getAvailable() print(available_gpus) ``` ...
【小白必看】使用Python爬取喜马拉雅音频并保存的示例代码,【小白必看】使用Python爬取喜马拉雅音频并保存的示例代码,【小白必看】使用Python爬取喜马拉雅音频并保存的示例代码,【小白必看】使用Python爬取喜马拉雅...
使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库...
QT库是一个跨平台的C++图形用户界面工具包,但这里我们使用了PyQt5,它是Python的一个绑定,使得我们可以用Python来编写QT应用。这个程序实现了用户账户的登录功能以及登录成功后的主界面切换,同时它还涉及到数据库...
这段代码展示了如何使用Python构建一个基于多线程的网络爬虫,它能够登录人人网,爬取用户信息,并分析用户的社交网络。通过对HTTP请求的精细控制、HTML内容的解析,以及多线程并发执行的策略,实现了高效的网络数据...