还没被玩坏的robobrowser(1)-简介
今天偶然发现了一个很有意思的python库——robobrowser。简单的看了一下,觉得这个东东作为轻量的爬虫还是很适合的。另外这个做一些简单的web测试也未尝不可。
好了,那么问题来了。
什么是robobrowser
官方的给出的答案是:RoboBrowser: Your friendly neighborhood web scraper。原谅我这一生不羁放纵不爱读书,真心不知道怎么用博大精深的汉语来翻译这句话,有知道的同学还请告诉一下。
简单来说robobrowser是一个浏览器,没有界面的浏览器。用纯python实现,运行在内存里。robobrowser可以打开网页,点击链接和按钮并且提交表单。嗯,听上去就弱爆了是吧。功能确实不多,但是如果是做爬虫和简单的web测试的话,这些功能实际上是够用了的。
robobrowser能做什么呢
- 爬虫
- 简单的web测试
robobrowser好用吗
简单的试用了一下,用起来很方便。而且由于是纯python写的,安装起来也很简单。总之是居家旅行的常备物什。
robobrowser好学吗
语法很自然,学起来很容易。另外robobrowser其实是建立在requests和BeautifulSoup之上的,站在巨人的肩膀上,robobrowser自然是容易被人们接受的。
requests和BeautifulSoup是做什么用的
- requests可以简单的认为是发http请求用的
- BeautifulSoup可以简单的理解为解析html文档的
本文版权属乙醇所有,欢迎转载但请标明出处。
下一节:安装robobrowser以及快速开始
还没被玩坏的robobrowser(1)-简介的更多相关文章
- 还没被玩坏的robobrowser(8)——robobrowser的实现原理
背景 学习使用工具实际上不难,不过我们应该通过阅读工具源码来提升自己的水平. 多读代码,读好代码.很不错,robobrowser的代码简单易懂,值得学习. 预备知识 源码地址 一起其实是从browse ...
- 还没被玩坏的robobrowser(7)——表单操作
背景 有一些站点是需要登录之后才能抓取内容的,另外做web测试的时候登录是家常便饭. 这一节里我们就以登陆testerhome为例,讲解一下robobrowser中form的操作. 预备知识 get_ ...
- 还没被玩坏的robobrowser(6)——follow_link
背景 在做spider的时候,我们经常会有点击链接的需求. 考虑这样的一个简单spider:获取qq.com主页上的今日话题中的内容. 一般思路是先去qq.com首页上找到今日话题的链接,然后点击这个 ...
- 还没被玩坏的robobrowser(5)——Beautiful Soup的过滤器
背景 本节的知识还是属于Beautiful Soup的内容. Beautiful Soup的find和find_all方法非常强大,他们支持下面一些类型的过滤器. 字符串 最简单的过滤器是字符串.在搜 ...
- 还没被玩坏的robobrowser(4)——从页面上抓取感兴趣的内容
背景 本节的知识实际上是属于Beautiful Soup的内容. robobrowser支持Beautiful Soup,一般来说通过下面3个方法获取页面上感兴趣的内容 find find_all s ...
- 还没被玩坏的robobrowser(3)——简单的spider
背景 做一个简单的spider用来获取python selenium实战教程的一些基本信息.因为python selenium每年滚动开课,所以做这样一个爬虫随时更新最新的开课信息是很有必要的. 预备 ...
- 还没被玩坏的robobrowser(2)——安装及快速开始
安装robobrowser 注意:这里假设你知道如何使用pip安装python的库的知识,如果你不了解这一块的话,点这里获取帮助. 强烈推荐使用pip安装. pip install robobrows ...
- 漫谈可视化Prefuse(四)---被玩坏的Prefuse API
这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有 ...
- .CO域名快被这帮搞IT的玩坏了……
鉴于近来国内访问Google的服务受阻,greatfire.org于前天推出了其基于亚马逊AWS的Google搜索镜像网站,地址是sinaapp.co.该网站随后因多家海外媒体的报道和众多微博大V的转 ...
随机推荐
- android中动态修改ImageView控件的宽高度
本例实现了动态修改ImageView控件的宽高度,有两个按钮,一个按钮实现放大image,一个按钮实现缩小image activity_main.xml <?xml version=" ...
- 在Linux系统中增加和删除用户
linux创建账户并自动生成主目录和主目录下的文件 在Linux系统中增加和删除用户 Linux添加用户(user)到用户组(group) usermod -a -G groupA user linu ...
- Centos7中firewalld防火锁墙的使用
一.服务控制 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disable firewal ...
- Linux--U盘安装Ubuntu12.04[转]
http://www.cnblogs.com/plokmju/p/linux_installubuntu.html 最近一直在研究Android内核驱动开发的相关事宜,使用VMware虚拟机虽然可以更 ...
- MySQL 源码系列:1:窥探篇
1:下载源码 http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz http://dev.mysql.com/downloads/m ...
- J2EE开发时的包命名规则,养成良好的开发习惯
代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯.代码编写规范使用范围:J2EE项目开发.包命名规范:目的:包的命名规范应当体现出项目资源良好的划分 servlet类 ...
- leetcode笔记:Bulls and Cows
一. 题目描写叙述 You are playing the following Bulls and Cows game with your friend: You write down a numbe ...
- V-rep学习笔记:外部函数调用方式
The remote API functions are interacting with V-REP via socket communication in a way that reduces l ...
- Java循环中标签的作用(转)
转自:http://lihengzkj.iteye.com/blog/1090034 以前不知道在循环中可以使用标签.最近遇到后,举得还是有其独特的用处的.我这么说的意思是说标签在循环中可以改变循环执 ...
- Java Web自定义MVC框架详解 (转)
转自:http://blog.csdn.net/jackfrued/article/details/42774459 最近给学生讲Java Web,希望他们能够在学完这部分内容后自己实现一个MVC框架 ...