selenium是非常出名的自己主动化測试工具,多数场景是測试project师用来做自己主动化測试,可是相同selenium能够作为基本上模拟浏览器的工具,去爬取一些基于http request不能或者非常复杂的才干爬取的站点。并且交互式脚本(如:python) + selenium能够直接看到浏览器的运行过程,利于debug,同一时候看上去比較有成就感。

贴个实例吧

firefoxProfile = FirefoxProfile()
# Disable images
firefoxProfile.set_preference('permissions.default.image', 2)
#Disable Flash
firefoxProfile.set_preference('dom.ipc.plugins.enabled.libflashplayer.so','false') #firefox, chrome, phantomjs
driver = webdriver.Firefox(firefoxProfile)
#login
driver.get("https://www.facebook.com/")
inputEmail = driver.find_element_by_id("email")
inputEmail.send_keys("useruseruseruser")
inputPass = driver.find_element_by_id("pass")
inputPass.send_keys("pwpwpwpwpw")
inputPass.submit() driver.get("https://www.facebook.com/blablabla" % (page))
driver.execute_script("alert('execute js')") driver.quit()

配合pyvirtualdisplay能够在后台运行。博友可自行查找其使用方法

相同selenium做爬虫的缺点也是非常明显的:

  1. 慢。异乎平常的慢(单个请求,载入的东西实在是太多了,对多线程也是极不友好的);
  2. 非常吃电脑资源(CPU,网络,内存都是一个非常大的挑战);
  3. 爬取规模不能太大
  4. 。。。。

所以,适用于那些难搞定的小站点。须要登陆的,点触式验证码啊等等

selenium+phantomJS爬虫,适用于登陆限制强,点触验证码等一些场景的更多相关文章

  1. 潭州课堂25班:Ph201805201 爬虫基础 第十一课 点触验证码 (课堂笔记)

    打开 网易盾 http://dun.163.com/trial/picture-click  ——在线体验——图中点选 打码平台 ——超级鹰    http://www.chaojiying.com/ ...

  2. Selenium + PhantomJS + python 简单实现爬虫的功能

    Selenium 一.简介 selenium是一个用于Web应用自动化程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样 selenium2支持通过驱动真实浏览器(FirfoxDrive ...

  3. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

    前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...

  4. 学习用java基于webMagic+selenium+phantomjs实现爬虫Demo爬取淘宝搜索页面

    由于业务需要,老大要我研究一下爬虫. 团队的技术栈以java为主,并且我的主语言是Java,研究时间不到一周.基于以上原因固放弃python,选择java为语言来进行开发.等之后有时间再尝试pytho ...

  5. 使用scrapy爬虫,爬取今日头条搜索吉林疫苗新闻(scrapy+selenium+PhantomJS)

    这一阵子吉林疫苗案,备受大家关注,索性使用爬虫来爬取今日头条搜索吉林疫苗的新闻 依然使用三件套(scrapy+selenium+PhantomJS)来爬取新闻 以下是搜索页面,得到吉林疫苗的搜索信息, ...

  6. [Python爬虫] 之一 : Selenium+Phantomjs动态获取网站数据信息

    本人刚才开始学习爬虫,从网上查询资料,写了一个利用Selenium+Phantomjs动态获取网站数据信息的例子,当然首先要安装Selenium+Phantomjs,具体的看 http://www.c ...

  7. 爬虫之 图片懒加载, selenium , phantomJs, 谷歌无头浏览器

    一.图片懒加载 懒加载 :    JS 代码  是页面自然滚动    window.scrollTo(0,document.body.scrollHeight)   (重点) bro.execute_ ...

  8. [Python爬虫] 之九:Selenium +phantomjs抓取活动行中会议活动(单线程抓取)

    思路是这样的,给一系列关键字:互联网电视:智能电视:数字:影音:家庭娱乐:节目:视听:版权:数据等.在活动行网站搜索页(http://www.huodongxing.com/search?city=% ...

  9. [Python爬虫] 之十五:Selenium +phantomjs根据微信公众号抓取微信文章

    借助搜索微信搜索引擎进行抓取 抓取过程 1.首先在搜狗的微信搜索页面测试一下,这样能够让我们的思路更加清晰 在搜索引擎上使用微信公众号英文名进行“搜公众号”操作(因为公众号英文名是公众号唯一的,而中文 ...

随机推荐

  1. 一段遍历4X4表格,取出每个单元格内容组合成文本的JS代码

    遍历表格的JS容易忘,留个随笔以备忘. var tableData="";    var table=document.getElementById("XXTableId ...

  2. jasperreport 通过javabean datasoource实现chart的报表

    继上次report的demo后,还在继续做着report方面的research,今天主要是实现了通过javabean datasource填充chart图表,通过webservice下载pdf格式的报 ...

  3. PHP高级教程-安全邮件

    PHP Secure E-mails 在上一节中的 PHP e-mail 脚本中,存在着一个漏洞. PHP E-mail 注入 首先,请看上一章中的 PHP 代码: <html> < ...

  4. Docker 安装使用

    1:安装 在Linux上安装Docker,要求64位操作系统,并且内核版本需求为3.10以上,查看本机Linux内核版本: [root@localhost ~]# uname -r -.el7.x86 ...

  5. Simple example

    This is a simple example showing a small window. Yet we can do a lot with this window. We can resize ...

  6. ios上线流程

    一.前言: 作为一名iOSer,把开发出来的App上传到App Store是必要的.下面就来详细讲解一下具体流程步骤. 二.准备: 一个已付费的开发者账号(账号类型分为个人(Individual).公 ...

  7. C#时间戳转换[转发]

    http://www.cnblogs.com/qingliuyu/p/3835858.html 以下是C#下的日期与unix时间戳的相互转换: /// <summary> /// 日期转换 ...

  8. Tomcat 设置URI默认字符集为UTF-8

    新配置一个Spring的MVC项目.发现对Get请求的中文參数出现了乱码: 查看了SpingMVC中关于编码的配置(在web.xml中).例如以下 <filter> <filter- ...

  9. 【svn】Centos搭建svn服务器环境

    1.需求描述 在Centos系统中搭建svn服务器环境 2.搭建过程 2.1 yum安装svn [root@localhost /]# yum install svn  2.2 新建目录存储svn目录 ...

  10. 腾讯云-搭建 WordPress 个人博客

    搭建 WordPress 个人博客 准备 LNMP 环境 任务时间:30min ~ 60min LNMP 是 Linux.Nginx.MySQL 和 PHP 的缩写,是 WordPress 博客系统依 ...