当前位置:首页>正文

怎么用Python登录人人网 Python3 怎样自动登录网站

2023-07-30 03:01:57 互联网 未知

怎么用Python登录人人网

首先需要你开始手动登录一下,在该文件的目录下生成一个“renren.coockie”的文件,再可以每次运行该脚本就可以直接进入你的人人网的主页,实现代码如下:

#!/usr/bin/env python
#encoding=gb231import sys
import re
import urllibimport urllib
import cookielib
import webbrowser

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.operate = self.opener.open(req)

if self.operate.geturl() == http://www.renren.com/*********: #用你的人人登录以后的首页地址,后面有一串数字
print Logged on successfully!
self.cj.save(renren.coockie)
else:
print Logged on error

ren = Renren()
username = #你的人人网的帐号
password = #你的人人网的密码
domain = http://www.renren.com#人人网的地址
origURL = http://www.renren.com/*********#用你的人人登录以后的首页地址,后面有一串数字
ren.setinfo(username,password,domain,origURL)
ren.login()
webbrowser.open(origURL) #自动打开网站

Python3 怎样自动登录网站

先用chrome的调试器抓取登录的POST请求,对照网页里表单的代码,你就清楚该网站登录的接口,之后用requests写就是了。

我一般用更省事的方法,勾选自动登录,然后把cookies存下来给程序用,免登录,也不用处理登录验证码。当然需要增加检测是否需要重登录的逻辑。

少数情况下网站会拒绝常见浏览器以外的客户端请求,需要伪造user-agent,例如https://proxy.org 这个网站,直接用requests抓会返回一个“你丫是爬虫吧”的错误页面。

如何用python模拟登录jsp网站

简单说一下流程:先用cookielib获取cookie,再用获取到的cookie,进入需要登录的网站。
01 # -*- coding: utf-8 -*-
02 # !/usr/bin/python
03
04 import urllib2
05 import urllib
06 import cookielib
07 import re
08
09 auth_url = http://www.nowamagic.net/
10 home_url = http://www.nowamagic.net/
11 # 登陆用户名和密码
12 data={
13 "username":"nowamagic",
14 "password":"pass"
15 }
16 # urllib进行编码
17 post_data=urllib.urlencode(data)
18 # 发送头信息
19 headers ={
20 "Host":"www.nowamagic.net",
21 "Referer": "http://www.nowamagic.net"
22 }
23 # 初始化一个CookieJar来处理Cookie
24 cookieJar=cookielib.CookieJar()
25 # 实例化一个全局opener
26 opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))
27 # 获取cookie
28 req=urllib2.Request(auth_url,post_data,headers)
29 result = opener.open(req)
30 # 访问主页 自动带着cookie信息
31 result = opener.open(home_url)
32 # 显示结果
33 print result.read()

再附带几个示例程序:

1. 使用已有的cookie访问网站

01 import cookielib, urllib2
02
03 ckjar = cookielib.MozillaCookieJar(os.path.join(C:Documents and Settings omApplication DataMozillaFirefoxProfilesh5m61j1i.default, cookies.txt))
04
05 req = urllib2.Request(url, postdata, header)
06
07 req.add_header(User-Agent,
08 Mozilla/4.0 (compatible MSIE 6.0 Windows NT 5.1))
09
10 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(ckjar) )
11
12 f = opener.open(req)
13 htm = f.read()
14 f.close()

2. 访问网站获得cookie,并把获得的cookie保存在cookie文件中

01 import cookielib, urllib2
02
03 req = urllib2.Request(url, postdata, header)
04 req.add_header(User-Agent,
05 Mozilla/4.0 (compatible MSIE 6.0 Windows NT 5.1))
06
07 ckjar = cookielib.MozillaCookieJar(filename)
08 ckproc = urllib2.HTTPCookieProcessor(ckjar)
09
10 opener = urllib2.build_opener(ckproc)
11
12 f = opener.open(req)
13 htm = f.read()
14 f.close()
15
16 ckjar.save(ignore_discard=True, ignore_expires=True)

3. 使用指定的参数生成cookie,并用这个cookie访问网站

01 import cookielib, urllib2
02
03 cookiejar = cookielib.CookieJar()
04 urlOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
05 values = {redirect:", email:abc@abc.com,
06 password:password, rememberme:", submit:OK, Let Me In!}
07 data = urllib.urlencode(values)
08
09 request = urllib2.Request(url, data)
10 url = urlOpener.open(request)
11 print url.info()
12 page = url.read()
13
14 request = urllib2.Request(url)
15 url = urlOpener.open(request)
16 page = url.read()
17 print page

如何访问需要登陆的网页 python


可以尝试添加相关cookie来试着去访问。自己先本地登录一下,然后抓取页面cookie,然后构造相应的请求,让他看起来像是登录过的,如果网站验证的不是特别严的话,是可以成功的。
还有一种方法,就是用Selenium框架,他会打开一个浏览器,然后访问指定url。但是还是免不了需要登录一次,但是登录过程,输入账号密码和点击登录按钮都是你可以模拟的。具体你可以参照官方文档。

如何利用python模拟登录

模拟登录大都是提及登录页,获取cookie,然后接着取页面的时候带cookie。
具体实现你可以参考一下:http://defer.cn/2013/03/1567.html
或者使用第三方库,requests。

Python 模拟登录网站的问题

提交的地址会有些变化,在URL中添加了jsessionid。
通过GET方法,手动获取cookie。然后在修改POST的headers和url

试下下面的代码,应该没问题了
#-*- coding:utf-8 -*-
import urllib
import urllib

# 获取cookie
def get_jsessionid():
    url = http://gzb.szsy.cn:3000/cas/login
    response = urllib.urlopen(url)
    sid = str(response.headers[Set-Cookie])[11:43]
    return sid
def main():
    sid = get_jsessionid()
    post_url = http://gzb.szsy.cn:3000/cas/loginjsessionid=   sid
    post_data = {
        username: apple,
        password: 12345,
        lt: e1s1,
        _eventId: submit,
    }
    post_data = urllib.urlencode(post_data)
    post_headers = {
        Cookie: sid,
    }

    request = urllib2.Request(post_url, post_data, post_headers)
    response = urllib2.urlopen(request)
    html = response.read()
    print html

if __name__ == __main__:
    main()