用Python模拟浏览器登录

首先在登录页面先登录一次,然后查看post了什么数据给服务器。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

#coding:utf-8

import urllib
import urllib2
import cookielib

#登陆页url
#百度
login_url = 'https://passport.baidu.com/v2/?login'
post_url = 'https://passport.baidu.com/v2/api/?login'

#用cookielib模块创建一个对象,再用urlllib2模块创建一个cookie的handler
cookie = cookielib.CookieJar()
cookie_handler = urllib2.HTTPCookieProcessor(cookie)

#有些网站反爬虫,这里用headers把程序伪装成浏览器
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'}

#登录需要提交的表单
#百度
pstdata = {
            XXXXXXXXXXXXXX ###把form_data复制过来
        }

data = urllib.urlencode(pstdata) #表单数据编码成url识别的格式
req = urllib2.Request(url=post_url,data=data,headers=header) #伪装成浏览器,访问该页面,并POST表单数据,这里并没有实际访问,只是创建了一个有该功能的对象
opener = urllib2.build_opener(cookie_handler) #绑定handler,创建一个自定义的opener
response = opener.open(req) #请求网页,返回句柄
page = response.read() #读取并返回网页内容

print 'Cookie:',cookie

print(page) #打印到终端显示

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你使用Python模拟浏览器登录后,想要获取浏览器返回的响应包,可以使用Selenium库来模拟浏览器行为并获取响应。 首先,确保你已经安装了Selenium库。可以通过以下命令来安装: ``` pip install selenium ``` 接下来,你需要下载对应浏览器的WebDriver,并将其放在你的系统路径中。WebDriver是一个用于自动化操作浏览器的工具。不同浏览器对应不同的WebDriver,请根据你使用的浏览器下载对应的WebDriver。 以Chrome浏览器为例,你可以从Chrome官方网站下载对应版本的ChromeDriver:https://sites.google.com/a/chromium.org/chromedriver/ 下载完成后,将ChromeDriver.exe文件放在合适的位置,并确保其路径已经添加到系统环境变量中。 接下来是一个示例代码,用于模拟使用Chrome浏览器登录并获取响应包: ```python from selenium import webdriver # 创建Chrome浏览器的WebDriver对象 driver = webdriver.Chrome() # 打开登录页面 driver.get('https://example.com/login') # 找到用户名和密码的输入框,并填入对应的值 username_input = driver.find_element_by_name('username') password_input = driver.find_element_by_name('password') username_input.send_keys('your_username') password_input.send_keys('your_password') # 找到登录按钮并点击 login_button = driver.find_element_by_xpath('//input[@type="submit"]') login_button.click() # 获取响应包 response_content = driver.page_source # 打印响应包内容 print(response_content) # 关闭浏览器 driver.quit() ``` 在上述代码中,我们首先创建了Chrome浏览器的WebDriver对象。然后,使用`driver.get()`方法打开登录页面。接着,使用`driver.find_element_by_name()`方法找到用户名和密码的输入框,并使用`send_keys()`方法填入对应的值。然后,找到登录按钮并点击,模拟用户点击登录操作。 最后,我们使用`driver.page_source`来获取整个页面的源代码,即浏览器返回的响应包内容。你可以根据实际需求对响应包内容进行处理。 最后别忘记调用`driver.quit()`关闭浏览器,释放资源。 这只是一个简单的示例代码,具体的实现会根据不同的网站和登录方式有所差异。你可能还需要处理验证码、等待页面加载等其他操作来模拟浏览器登录并获取响应包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值