python实现自动登录


Posted in Python onSeptember 17, 2018

利用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))

效果:

python实现自动登录

官网:链接地址

官方示例程序:链接地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
Python3实现的画图及加载图片动画效果示例
Jan 19 Python
Numpy中转置transpose、T和swapaxes的实例讲解
Apr 17 Python
Django unittest 设置跳过某些case的方法
Dec 26 Python
python里dict变成list实例方法
Jun 26 Python
python Django中models进行模糊查询的示例
Jul 18 Python
django连接oracle时setting 配置方法
Aug 29 Python
Python动态导入模块和反射机制详解
Feb 18 Python
python关于变量名的基础知识点
Mar 03 Python
在 Python 中使用 MQTT的方法
Aug 18 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
python发送告警邮件脚本
Sep 17 #Python
python实现zabbix发送短信脚本
Sep 17 #Python
python通过zabbix api获取主机
Sep 17 #Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
Sep 17 #Python
python实现Zabbix-API监控
Sep 17 #Python
centos6.8安装python3.7无法import _ssl的解决方法
Sep 17 #Python
Python从使用线程到使用async/await的深入讲解
Sep 16 #Python
You might like
PHP4中session登录页面的应用
2008/07/25 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
django创建简单的页面响应实例教程
2019/09/06 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
Html5元素及基本语法详解
2016/08/02 HTML / CSS
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
小学评语大全
2014/04/22 职场文书
实习评语大全
2014/04/26 职场文书
工作推荐信范文
2014/05/10 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
学习十八届四中全会依法治国心得体会
2014/11/03 职场文书
办公室文员岗位职责
2015/02/04 职场文书
详解MySQL的半同步
2021/04/22 MySQL
python b站视频下载的五种版本
2021/05/27 Python
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server