python网络爬虫--网页登录
1、前言
主要用到python的selenium库,通过模仿浏览器行为+定位登录所需的标签位置,实现网页登录功能.最后在码云(gitee)上测试自动登录功能.
2、selenium定位网页元素
关于selenium的使用前准备可以看到我之前的一篇文章python网络爬虫--下载图片.
我们有许多方法对页面的元素进行定位,对于不同的元素,我们使用最优的定位方法即可。Selenium提供了下面的方法进行元素定位:
- find_element_by_id
- find_element_by_name
- find_element_by_tag_name
- find_element_by_class_name
- find_element_by_css_selector
通过一个例子来大概说明怎么使用这些方法
<html><body><form id="loginForm"><input name="username" type="text" /><input name="password" type="password" /><input name="continue" type="submit" value="Login" /></form></body>
<html>
2.1 根据Name定位
userName = driver.find_element_by_name("username")
在定位到元素后,我们要将对应的用户名填入表单,使用send_keys
方法
userName.send_keys("UserName")
2.2 根据css选择器定位
passWord = driver.find_element_by_css_selector("input[type='password']")
passWord.send_keys("PassWord")
3、Example
通过模拟登录码云(gitee)
,测试是否成功
首先,在浏览器输入地址https://gitee.com/login
,进入登录界面
然后,进入开发者模式,找到表单对应的元素.
从以下三张图可以看到用户名
,密码
,登录按钮
分别对应的元素.然后通过上面介绍的元素选择方法,将对应的值提供给表单即可.
具体代码如下:
from selenium import webdriver
import timedef main():url = "https://gitee.com/login"# 这里改为你的chromedriver地址ChromeDriverPath = "path/to/chromedriver"driver = webdriver.Chrome(executable_path=ChromeDriverPath)driver.get(url)# 这里将UserName改为你自己的driver.find_element_by_id("user_login").send_keys("UserName")# 修改PassWorddriver.find_element_by_id("user_password").send_keys("PassWord")# 获取到登录按钮的driver后,使用click()函数,模拟点击buttondriver.find_element_by_css_selector("input[name='commit']").click()time.sleep(20)driver.quit()if __name__ == "__main__":main()
python网络爬虫--网页登录相关推荐
- python 网页版笔记_系统学习下python网络爬虫 笔记一
系统学习下python网络爬虫的知识 1.爬虫的定义 Web Spider,把互联网定义为一个蜘蛛网,网络蜘蛛通过网页的链接地址来寻找网页. 具体过程:从网站的某一个网页(通常是首页)开始,读取网页的 ...
- python 网页爬虫作业调度_第3次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业. 4.提供图片或网站显示的学习 ...
- Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博
Python网络爬虫之如何通过selenium模拟浏览器登录微博 微博登录接口很混乱,需要我们通过selenium来模拟浏览器登录. 首先我们需要安装selenium,通过pip安装: ``` pip ...
- python网络爬虫学习笔记(7)动态网页抓取(二)实践
文章目录 1 资料 2 笔记 2-1 准备 2-1-1. 网址 2-2-2 文本位置 2-2 代码 2-2-1 原型 2-2-2 ver0.1 1 资料 <Python网络爬虫从入门到实践> ...
- python网络爬虫抹除webdriver指纹绕过淘宝滑块验证登录
对于爬虫工程师,最常遇到的需求就是抓取电商网站的数据,那么电商数据最受哪些公司平台的注意呢?以下是几个例子 广告商:广告商透过爬虫定期抓取你店铺的数据,并对店铺包括销量,热度,好评,新上线产品好评度, ...
- python网络爬虫学习笔记(6)动态网页抓取(一)知识
文章目录 网络爬虫学习笔记(2) 1 资料 2 笔记 2-1 动态抓取概述 2-2 通过浏览器审查元素解析真实网页地址 2-3 网页URL地址的规律 2-4 json库 2-5 通过Selenium模 ...
- Python网络爬虫数据采集实战:同花顺动态网页爬取
前文的爬虫都建立在静态网页基础之上,首先通过请求网站url获取到网页源代码.之后对源代码进行信息提取进而存储即可,本文则针对动态网页进行数据采集,首先介绍Ajax相关理论,之后实战爬取同花顺动态网页, ...
- python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]
目录 前言 一.正则表达式的学习 1.正则表达式的匹配工具 2.正则表达式的样式 3.正则表达式的案例 二.爬取网页图片 1.分析网页 2.获取数据 爬取妹子网的案例 后记 前言 hello,大家好 ...
- 爬虫书籍-Python网络爬虫权威指南OCR库 NLTK 数据清洗 BeautifulSoup Lambda表达式 Scrapy 马尔可夫模型
Python网络爬虫权威指南 编辑推荐 适读人群 :需要抓取Web 数据的相关软件开发人员和研究人员 作为一种采集和理解网络上海量信息的方式,网页抓取技术变得越来越重要.而编写简单的自动化程序(网络爬 ...
最新文章
- 【C】 36_函数与指针分析
- 获得汉字拼音的首字母
- 写底部样式一定要加的属性
- 通过ABAP business switch动态扩展一个ABAP domain
- 大容量NoSql解决方案:Aerospike实战
- oracle 中某张表备份,张表系统流程(java程序备份及恢复SQL2000中数据库中的某张表)...
- 升级插件_全新界面全面升级不能错过 摄影后期插件 CameraRaw12.3 最新版
- ORACL-重做日志详解
- 如何在Inceptor中使用日期函数获取与转换时间
- 【企业架构】什么是 TOGAF? 企业架构方法论
- DataParallel使用
- 异常检测 and GAN网络(2)
- HTML中怎么从图片里取色,图片取色配色法——从电影画面中取色
- 如何看Dlink DWA-125 无线网卡使用的芯片
- Git 常用回滚撤销命令总结
- 保证金监控中心查询期货开户密码
- 常用谷歌地址和常用搜索引擎
- 机器人理论简介—— 台湾交通大学机器人学公开课(一)
- SAP库存--历史库存相关数据,以及库存变化对应表的数据变化,可以用于库龄分析报表逻辑设计。
- 计算机软件ae常用英语,AE英文插件该怎么翻译?