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 相关文章推荐
python自然语言编码转换模块codecs介绍
Apr 08 Python
Python中用sleep()方法操作时间的教程
May 22 Python
简介Django中内置的一些中间件
Jul 24 Python
python解决网站的反爬虫策略总结
Oct 26 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
机器学习之KNN算法原理及Python实现方法详解
Jul 09 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 Python
pytorch:实现简单的GAN示例(MNIST数据集)
Jan 10 Python
python操作docx写入内容,并控制文本的字体颜色
Feb 13 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
Python unittest基本使用方法代码实例
Jun 29 Python
详解基于Scrapy的IP代理池搭建
Sep 29 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
又拍云异步上传实例教程详解
2016/04/19 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
BootStrap modal模态弹窗使用小结
2016/10/26 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
js实现日历的简单算法
2017/01/24 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
python实现朴素贝叶斯算法
2018/11/19 Python
django2笔记之路由path语法的实现
2019/07/17 Python
Django的性能优化实现解析
2019/07/30 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
中医药大学市场营销专业自荐信
2013/09/29 职场文书
对孩子的寄语
2014/04/09 职场文书
采购部长岗位职责
2014/06/13 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
孩子教育的心得体会
2014/09/01 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
python代码实现扫码关注公众号登录的实战
2021/11/01 Python