python模拟浏览器登录人人网,并使用代理IP和发送表单数据

Python模拟登录人人网,并使用代理IP

 

#__author__ = 'Administrator'
#encoding=utf-8
import urllib2,urllib
import cookielib
from bs4 import BeautifulSoup
#登录的url
hosturl = "http://www.renren.com"

#这里是要将账号和密码等信息要发送到的url,我用的是WSExploer抓包
posturl = "http://www.renren.com/ajaxLogin/login"

#生成cookies
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
#opener = urllib2.build_opener(cookie_support,urllib2.HTTPHandler)
#ullib2.install_opener(opener)

#打开登陆界面,获取cookie,并将该cookie保存下来
h = urllib2.urlopen(hosturl)

#设置使用代理
proxy = {'http':'120.197.234.164:80'}
proxy_support = urllib2.ProxyHandler(proxy)
# opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler(debuglevel=1))
opener = urllib2.build_opener(cookie_support,proxy_support,urllib2.HTTPHandler)
urllib2.install_opener(opener)

#构造头,这方法和上边获取posturl方法一样
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0/',
    'Referer':'http://www.renren.com/'
}

#发送的数据,同上
postdata={
    'email':'xxxxxxxxxxx',         #用户名
    'password':'xxxxxxxxxx'   #密码
}

#将数据进行编码
postdata = urllib.urlencode(postdata)

#构造一个请求消息
request = urllib2.Request(posturl,postdata,headers)
print "requests:%s" % request

#发送一个请求消息
response = urllib2.urlopen(request)
text = response.read()
print "text:%s" %text

listvalue = text.split(",")

#获取人人登录的主页
href = listvalue[1].split(":")[2]
#print href[:-2]
renrenhttp = "http:" + href[:-2]
print "renrenhttp:%s" % renrenhttp

#print urllib2.urlopen(renrenhttp).read()
page = urllib2.urlopen(renrenhttp).read()

soup = BeautifulSoup(page)
print soup.title

 

上述代码中同时使用了代理ip和模拟登录,若不使用代理ip只需修改如下

 

为:

即可


搜索与推荐Wiki

扫一扫 关注微信公众号!号主 专注于搜索和推荐系统,尝试使用算法去更好的服务于用户,包括但不局限于机器学习,深度学习,强化学习,自然语言理解,知识图谱,还不定时分享技术,资料,思考等文章!


                             【技术服务】,详情点击查看:https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg


外包服务

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值