python 登录人人网爬取源码

上一篇大致介绍了python爬取网页的两种简单的情况;接着又学习了一下登录的情况;并实现了登录人人网

先大致总结一下登录的几个步骤

1,添加Cookie配置

一般需要账号密码登陆的,直接网址或者模仿浏览器操作是无法进入的,一般的解决方法是用python的一个模块是cookielib,用来记住登录成功之后保存到本地的cookie;

具体代码看人人登录吧

2,添加登录需要提交的表单信息

一般postdata的信息为登陆的用户名,密码什么的,还有许多其他的信息,其余的数据是否必要,需要测试一下; 查看这个就可以用httpfox 或者审查元素的nextwork里面,当你点击登录的时候,在审查元素的network里面可以看到post 、get的数据信息;这里就可以按照我们需要的来拿;

下面是模仿登录人人网的代码;代码注释挺细的。以便以后回忆~~ 由于对正则不太会,就没有做爬取(正则后面在学QAQ)

# -*- coding: cp936 -*-
#renren login
#Filename: renren.py

import urllib2,urllib,cookielib

#设置cookie
cookiejar= cookielib.CookieJar()
cookie=urllib2.HTTPCookieProcessor(cookiejar)
opener= urllib2.build_opener(cookie,urllib2.HTTPHandler())
urllib2.install_opener(opener)

#账号信息
email=raw_input('输入邮箱')
password=raw_input('输入密码')
domain='renren.com'#域名
url='http://www.renren.com/PLogin.do'#可以通过审查元素得到


#httpfox抓取数据包信息, 其中headers和domain 可有可无 postdata里面很多元素;最主要的用户名密码
#d对付反爬虫
headers={
   'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0'
    }
data={
    'email' : email,
    'password' : password,
    'domain': domain
    }
#编码data
postdata = urllib.urlencode(data)


#发起请求
req=urllib2.Request(url,postdata,headers)
#获取源码
print urllib2.urlopen(req).read()
                    



你可能感兴趣的:(人人登录)