前言 selenium是一个web自动化测试的开源框架,它支持多语言:python/java/c#… 前面也有一篇文章说明了,selenium+浏览器的环境搭建. selenium支持多语言,是因为selenium与浏览器驱动之间是通过http协议进行通信的.只关心通信的数据是否能够正确解读 ,并不关心这个数据是从哪个客户端来.无论来自python\java,还是jmeter,postman都没有问题. 本篇文章中,以requests做为客户端,跳过selenium,直接与谷歌浏览器驱动(chr…
requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的requests模块模拟浏览器行为,向其他站点发送request,让其他站点response数据给我们: 一.requests模块介绍 requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(其本质就是封装了urllib3), 特点:requests库发送…
近年来,12306的反爬越来越来严重,从一年前的 获取tk参数后到现在增加了 JS.CSS等加密方式! 目前大部分人利用的登陆方式都是利用selenium ,此文也不例外. 环境:        Windows python 3.6.5 模块:      selenium pyautogui      time 第一步: 实例化一款浏览器,并进入到12306官网 driver = webdriver.Chrome() driver.get('https://kyfw.12306.cn/otn/r…
最近学web自动化时用到selenium库,感觉很神奇,遂琢磨了一下,写了点心得. 当我们输入以下三行代码并执行时,会发现新打开了一个浏览器窗口并访问了百度首页,然而这是怎么做到的呢? from selenium import webdriver driver = webdriver.Chrome() driver.get('http://www.baidu.com') 首先我们来看一下selenium库的结构: 很显然,selenium就是一个软件包,里面有两个一级子包,common和webd…
前言 上一篇文章<selenium webdriver 是怎么运行的>用了一个简单的例子--搭出租车,形象地讲解selenium webdriver 是如何运行的,而这一篇文章可以理解为深入了解selenium是如何和浏览器驱动进行交互,也可以认为是乙醇老师写的<selenium是如何启动浏览器的> 文章的2.0版本 . 环境准备: python 3.0以上 selenium 3.0以上 浏览器 Chrome 浏览器驱动 ChromeDriver 接口测试工具 小编的环境: pyt…
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的. 3.GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中. 两者用法上也有显著差异(援引自知乎): 1.GET用于从服务器端获取数据,包括静态资源(HTML|JS|CSS|Image等等).动态数据展示(列表…
selenium主要的用途就是控制浏览器,模仿真人操作浏览器的行为 模块安装:pip3 install selenium 需要控制的浏览器 from selenium import webdriver  # 调用这个模块 browser=webdriver.Chrome() # 控制谷歌浏览器 PS:调用谷歌浏览器需要下载一个驱动:http://npm.taobao.org/mirrors/chromedriver/2.38/  # 下载对应版本的即可 PS:解压后得到一个exe程序,可以放到项…
一. Selenium2 WebDriver 当Selenium2.x提出了WebDriver的概念后,它提供了完全另外的一种方式与浏览器交互 那就是利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏.窗口大小.启动.关闭.安装插件.配置证书之类的) 由于使用的是浏览器原生的API,速度大大提高,而且调用的稳定性交给了浏览器厂商本身,显然是更加科学 然而带来的一些副作用就是,不同的浏览器厂商,对web…
目录 Python3微博爬虫[requests+pyquery+selenium+mongodb] 主要技术 站点分析 程序流程图 编程实现 数据库选择 代理IP测试 模拟登录 获取用户详细信息 获取用户全部微博 运行结果 Python3微博爬虫[requests+pyquery+selenium+mongodb] 大数据时代,数据的获取对是研究的基础,而获取海量的数据自然不能通过人工获取,爬虫因运而生.微博作为新时代国内火爆的社交媒体平台,拥有大量用户行为和商户数据,学会通过爬虫获取所需数据将…
介绍 selenium相当于是一个机器人,可以模拟人类登陆浏览器的行为,比如点击.填充数据.删除cookie等等.Chromedriver是一个驱动Chrome的程序,使用它才可以驱动浏览器,其实Chromedriver之前是用来做自动化测试的,但是发现很适合爬虫.当然这里的是Chromedriver,不同的浏览器有不同的driver,但是这里我们只介绍Chrome.毕竟谷歌浏览器在浏览器这一层面上基本算是主宰天下了.关于selenium一般是为了获取动态数据的,对于那些使用ajax技术的网站,…