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文件夹与文件的相关操作(推荐)
Jul 25 Python
python 添加用户设置密码并发邮件给root用户
Jul 25 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
python寻找list中最大值、最小值并返回其所在位置的方法
Jun 27 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
pygame游戏之旅 载入小车图片、更新窗口
Nov 20 Python
Python基于plotly模块实现的画图操作示例
Jan 23 Python
Python单元和文档测试实例详解
Apr 11 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
pytorch 在sequential中使用view来reshape的例子
Aug 20 Python
简单了解python中的f.b.u.r函数
Nov 02 Python
python实点云分割k-means(sklearn)详解
May 28 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
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
tbody元素支持嵌套的注意方法
2007/03/24 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
vue-router权限控制(简单方式)
2018/10/29 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
史上最牛的辞职信
2015/02/28 职场文书
中秋节寄语2015
2015/03/24 职场文书
公司岗位说明书
2015/10/08 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
关于vue-router-link选择样式设置
2022/04/30 Vue.js