首页 > 编程知识 正文

python模拟浏览器登陆(用python模拟用户登录)

时间:2023-12-20 11:32:48 阅读:318004 作者:WXRY

本文目录一览:

如何使用python进行浏览器行为模拟

你可以使用python的webbrowser库来模拟浏览器:

url = '' # Open URL in a new tab, if a browser window is already open.webbrowser.open_new_tab(url + 'doc/') # Open URL in new window, raising the window if possible.webbrowser.open_new(url)或者使用python的第三方库, selenium

from selenium import webdriverfrom selenium.webdriver.common.keys import Keys browser = webdriver.Firefox() browser.get(')assert 'Yahoo!' in browser.title elem = browser.find_element_by_name('p') # Find the search boxelem.send_keys('seleniumhq' + Keys.RETURN) browser.quit()

怎样利用python打开一个网页并实现自动登录

登陆其实就是将账号密码之类的POST到那个网站的服务器。你可以通过抓包看到你点击登陆时发的POST包。那么你用python也模拟发一个一样的包给服务器,就实现了模拟登陆呗。

Python Request库模拟登录

1.读取本地用户文件,或者账号名和密码

2.使用md5对用户密码进行加密

3.获取session的临时随机串及sessionid

4.对随机串及用户密码进行二次md5加密生成新的请求秘钥串

5.传递用户名、新的秘钥串及sessionid模拟用户登录

python3模拟登录有哪些情况

使用谷歌浏览器F12查看登录请求内容

1.request header需要参数:User-Agent、Referer等。

2.post内容。

python 3.x中urllib库和urilib2库合并成了urllib库。

urllib2.urlopen()变成了urllib.request.urlopen()

urllib2.Request()变成了urllib.request.Request()

cookielib 模块-》http.cookiejar

#! /usr/bin/env python

# -*- coding:gb2312 -*-

# __author__="zhaowei"

'''

 python3.4

    模拟登录郑州公积金网站,查询缴存至月份。

'''

from html.parser import HTMLParser

import urllib

import http.cookiejar

import string

import re

hosturl = ''

posturl = ''

cj = http.cookiejar.CookieJar()

cookie_support = urllib.request.HTTPCookieProcessor(cj)

opener = urllib.request.build_opener(cookie_support, urllib.request.HTTPHandler)

urllib.request.install_opener(opener)

h = urllib.request.urlopen(hosturl)

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0',

           'Referer': ''}

postData = {'selectlb': '1',#登录模式,身份证2,账号1

            'username': '1423141234', #公积金账号

            'radename': '赵威',#姓名

            'mm': '88888',#密码

            'submit322': '确认'#固定值

            }

postData = urllib.parse.urlencode(postData, encoding='gb2312').encode('gb2312')

#因为post里面有中文,因此需要先把url经过gb2312编码处理,然后再把请求编码为gb2312字节码(post必须是字节码)。

request = urllib.request.Request(posturl, postData, headers)

response = urllib.request.urlopen(request)

text = response.read()

html = text.decode('gb2312')

hgjj_last_data = re.findall('tdp缴至月份:/p(s*)/td(s*)td(.*?)/td', html)

#使用正则表达式匹配缴至月份

print(hgjj_last_data[0][2])

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。