python实现自动登录
作者:语暖心扉 发布时间:2023-10-20 05:11:46
标签:python,自动登录
利用python,可以实现填充网页表单,从而自动登录WEB门户。
(注意:以下内容只针对python3)
环境准备:
(1)安装python
(2)安装splinter,下载源码 python setup install
#coding=utf-8
import time
from splinter import Browser
def login_mail(url):
browser = Browser()
#login 163 email websize
browser.visit(url)
#wait web element loading
#fill in account and password
browser.find_by_id('username').fill('你的用户名称')
browser.find_by_id('password').fill('你的密码')
#click the button of login
browser.find_by_id('loginBtn').click()
time.sleep(5)
#close the window of brower
browser.quit()
if __name__ == '__main__':
mail_addr ='http://reg.163.com/'
login_mail(mail_addr)
Tips:
(1)如果需要修改web的html属性,可以使用:js
browser.execute_script('document.getElementById("Html属性ID").value = "在此提供默认值"')
(2)browser = Browser()
不指定的情况下,浏览器驱动是火狐(Firefox),可以指定其他:browser = Browser(‘chrome'),需要下载对应的驱动程序
1.python3浏览页面
#coding=utf-8
import urllib.request
import time
#在请求加上头信息,伪装成浏览器访问
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
chaper_url='http://XXX'
vist_num=1
while vist_num<1000:
if vist_num%50==0:
time.sleep(5)
print("This is the 【 "+str(vist_num)+" 】次尝试")
req = urllib.request.Request(url=chaper_url, headers=headers)
urllib.request.urlopen(req).read() #.decode('utf-8')
vist_num+=1
2.python 多线程
#coding=utf-8
import threading #导入threading包
from time import sleep
import time
def fun1():
print ("Task 1 executed." )
time.sleep(3)
print ("Task 1 end." )
def fun2():
print ("Task 2 executed." )
time.sleep(5)
print ("Task 2 end." )
threads = []
t1 = threading.Thread(target=fun1)
threads.append(t1)
t2 = threading.Thread(target=fun2)
threads.append(t2)
for t in threads:
# t.setDaemon(True)
t.start()
3.利用python下载百度图片
#coding=utf-8
import urllib.request
import re
def getHtml(url):
page = urllib.request.urlopen(url)
html = page.read()
return html
def getImg(html):
reg = r'src="(.+?\.jpg)"'
imgre = re.compile(reg)
html=html.decode('utf-8')
imglist = re.findall(imgre,html)
x = 0
for imgurl in imglist:
urllib.request.urlretrieve(imgurl,'%s.jpg' % x)
x+=1
print(str(x))
html = getHtml("http://image.baidu.com/channel?c=%E6%91%84%E5%BD%B1&t=%E5%85%A8%E9%83%A8&s=0")
print(getImg(html))
效果:
官网:链接地址
官方示例程序:链接地址
来源:https://blog.csdn.net/zat111/article/details/45604029


猜你喜欢
- 这篇文章主要介绍了如何使用Python破解ZIP或RAR压缩文件密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- ff默认不让改 statusopera9 测试通过ie6 测试通过这东西是给统计部门用的,分析用户习惯以改良网站布局
- ElementUI在el-table中使用el-popoverVue ElementUI在el-table中使用el-popover,点击嵌
- 常见的数据库对象对象描述表(TABLE)表是存储数据的逻辑单元,以行和列的形式存在,列就是字段,行就是记录数据字典就是系统表,存放数据库相关
- 本文代码需要正确安装Python扩展库pywin32,建议下载whl文件进行离线安装。然后调用win32api的ShellExecute()
- 我就废话不多说了,大家还是直接看代码吧!import socketimport sysimport timeimport structHOS
- 比如:,master,test, 表示 该用户为 test 的下级代码,test登录后可以看到 test名下的业务和所有下级代理的业务。相关
- 本文主要介绍通过预训练的ImageNet模型实现图像分类,主要使用到的网络结构有:VGG16、InceptionV3、ResNet50、Mo
- 函数:len()1:作用:返回字符串、列表、字典、元组等长度2:语法:len(str)3:参数:str:要计算的字符串、列表、字典、元组等4
- 1、下载gliffy-confluence-plugin-9.1.2.obr2、解压后找到GliffyLicenseManager.clas
- IIS报错:msxml3.dll (0x80070005)拒绝访问解决办法:Set objSrvHTTP =
- 1. 停止服务MySQL2. 卸载mysql相关的程序3. 删除注册表(运行->regedit),machine->system
- CSS3 + HTML5是未来的Web,它们都还没有正式到来,虽然不少浏览器已经开始对它们提供部分支持。本文介绍了5个CSS3技巧,可以帮你
- 本文主要研究的是flask如何截获所有访问,以及before_request、after_request修饰器的相关内容,具体如下。在学习着
- 前言利用Python的ffmpy库提取视频中的音频。本文提供工具类代码。环境依赖需要安装ffmpy,安装指令:pip install ffm
- 集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而
- 现在有一个xml,格式如下: <date> <item> <id> 1 </id> <
- 空间关系变化始于相遇,所以交点是一切的核心。相交判定首先考察一束光线能否打在某个平面镜上。光线被抽象成了一个列表[a,b,c],平面镜则被抽
- 呵呵,这几天沉溺于灌水,发现转贴的时候真的是很不方便,文字、图形、颜色、连接,如果都转过来真的是满费劲的,于是就写了一个小东西,简陋的很,不
- 方法很简单,实现原理:使用asp的Request.ServerVariables("HTTP_REFERER") 判断来