原理 利用chromedriver来驱动chrome进行各种模拟各种行为操作, 然后利用selenium提供的接口来操作chromedriver. 安装ChromeDriver 当然这个的默认前提是你已经安装了Chrome. 下载 下载地址: http://chromedriver.chromium.org/ , 如果国内有被墙的情况请自行解决, 其次最重要的一点是版本, 一定要下载与自己浏览器想对应的版本. 安装 下载下来的直接就是一个驱动, 其实不存在安装的问题, 只需要解压出来就行, 但是…
先上结果: 之前 在公司业务中用过java+Selenium+ChromeDriver ,使用起来非常顺手,可以完美模拟真实的用户浏览行为.最近休息的时候想用C#也试一下,于是有了本文. 实现原理一样,只是由java换成了C#.(ps:个人感觉就业务开发代码来说,熟悉之后两种语言可以无缝切换.) 事先声明,代码中会采集用户登录咕咚网站之后的个人数据接口,如果此行为损害了咕咚网站的利益,请联系我删除或修改本文(我对采集行为一直本着每一次调用之后sleep的原则,毕竟不是为了把人家的网站搞死).文中…
ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)   我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为json,xml等),但是如果Controller的自动序列化后的结果不是我们想要的该怎么办呢?其实在MVC中有一个GlobalConfiguration(命名空间System.Web.Http)类可以设置WebApi的Controller自动序列化机制,这里我们就通过WebApi的Controll…
之前写了一篇selenium + ChromeDriver的一些入门的知识,这篇博客里面找了启信宝这个网站,简单的进行了一个实战练习.本篇博客的结构如下:       首先会给出一些使用selenium + ChromeDriver的入门的一些友情链接         其次讲解一下本人在爬取网站的一些思路和流程       最后给出github地址并总结经验. 1. 友情链接 环境配置以及入门知识参考我的之前一篇博客: http://www.cnblogs.com/caizheng/p/7344…
1. 安装chrome 首先安装google的epel源 vi /etc/yum.repos.d/google.repo [google] name=Google-x86_64 baseurl=http://dl.google.com/linux/rpm/stable/x86_64 enabled=1 gpgcheck=0 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub yum update , 然后yum install…
chromedriver版本   支持的Chrome版本 v2.41               v67-69 v2.40               v66-68 v2.39               v66-68 v2.38               v65-67 v2.37               v64-66 v2.36               v63-65 v2.35               v62-64 v2.34               v61-63 v2.33…
from selenium import webdriver from selenium.webdriver.chrome.options import Options if __name__ == '__main__': chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') driver_path = 'E:\Progra…
一.Selenium selenium是什么 Selenium [1] 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等. 在python爬虫可以简单的理解为:Selenium就是模仿人使用浏览器 如何下载或者是安装selenium cmd进入win终端,输入命令 pip install seleniu…
在我们进行数据爬去的过程中,我们有时候会遇到异步加载信息的情况,以豆瓣电影分来排行榜为例,当我们在查看数据的过程中,会发现网页源码中并不包含我们想要的全部数据,但是当我们在进行向下滚动的时候,数据会一点点的加载出来,这就说明它是通过异步加载模式展示出的数据.在urllib3中,支持的也仅仅是当前的HTML页面,所以,我们要使用异步加载模式进行数据的获取. 在这个时候,我们一般会采用以下两种方法来进行数据的加载:一种是模拟浏览器进行页面访问(selenium),另外一种是进行更深层次的HTTP请求…
背景 Selenium webdriver一直使用Firefox作为浏览器来跑webtest, 但是最近发现ff有时会报超时的错误,于是想到使用chromedriver来提升稳定性.本想只把.firefox() 换成 .chrome() 这么简单的事情,结果却引出很多问题. 做法 根据官方文档 下载chromedriver binary 放到Linux 默认路径 走起… 问题来了 问题 Selenium 报无法启动chrome, 报错 selenium.common.exceptions.Web…