Python模拟登陆(urllib2)

本文介绍了使用Python的urllib2库模拟登录人人网的过程,包括设置cookie处理器、构造HTTP数据包、处理header和POST数据,以及解析响应内容。通过这个实例,读者可以了解模拟登录的基本步骤和技术要点。
摘要由CSDN通过智能技术生成
欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/49888757

最近需要做个自动化工具,需要自动登录某个网站然后自动进行某些操作,免除人工一个一个操作的烦恼。
第一步就是要登录网站,而目前主流网站的登陆过程大同小异。于是乎,我就拿了人人网(www.renren.com)来试手。至于为什么用它,因为很多网站的登陆过程太复杂了,它稍微简单点。

主要用python实现了对网站的模拟登录。需要自己构造数据接口,这就需要抓包看登陆的时候到底发了什么数据。
firefox有一个很好用的工具HTTPfox来抓取http数据包,主要看url,postdata,header,
Python可以通过模拟登录的方式进行网站登录操作。有多种方法可以实现这个功能,比如使用urllib库和selenium库。 如果使用urllib库,可以通过获取cookie来模拟登录。首先,需要使用burpsuite等工具抓包获取登录网站的cookie,然后将cookie添加到请求头中。下面是一个使用urllib库进行模拟登录的示例代码: ```python from urllib import request # 登录后才能访问的网站URL url = 'http://zxjf.ecjtu.edu.cn/Student/index.aspx' # 浏览器登录后得到的cookie字符串 cookie = r'ASP.NET_SessionId=jm4iqsy1aten3qdkxm5vcl4r' req = request.Request(url) req.add_header('cookie', cookie) req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36') resp = request.urlopen(req) print(resp.read().decode('utf-8')) ``` 另一种方法是使用selenium库进行模拟登录。selenium库可以模拟用户在浏览器中的行为,包括输入账号密码、点击登录按钮等操作。下面是一个使用selenium库进行模拟登录的示例代码: ```python from selenium import webdriver import time driver = webdriver.Chrome() # 需要下载对应浏览器的驱动,比如Chrome需要下载ChromeDriver driver.get("https://user.17k.com/www/bookshelf/") time.sleep(2) el_path = driver.find_element_by_xpath('/html/body/div[4]/div/div/iframe') driver.switch_to.frame(el_path) driver.find_element_by_xpath('//dd[@class="user"]/input').send_keys('你的账号') driver.find_element_by_xpath('//dd[@class="pass"]/input').send_keys('你的密码') driver.find_element_by_xpath('//*[@id="protocol"]').click() driver.find_element_by_xpath('//dd[@class="button"]/input').click() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值