背景 在做spider的时候,我们经常会有点击链接的需求. 考虑这样的一个简单spider:获取qq.com主页上的今日话题中的内容. 一般思路是先去qq.com首页上找到今日话题的链接,然后点击这个链接到内容页面,最后抓取里面的内容就好了. 这一节里我们就要实现这个功能. 预备知识 robobrowser的follow_link方法可以点击链接并自动完成跳转. 代码 #coding: utf-8 import re from robobrowser import RoboBrowser url…
背景 学习使用工具实际上不难,不过我们应该通过阅读工具源码来提升自己的水平. 多读代码,读好代码.很不错,robobrowser的代码简单易懂,值得学习. 预备知识 源码地址 一起其实是从browser.py开始的 要点 RoboState类里,页面上内容的抓取和处理实际上委托给了BeautifulSoup.RoboState类的_parsed对象实际上就是BeautifulSoup的实例: RoboState类中保存了每个请求的响应内容--response.content: RoboBrows…
今天偶然发现了一个很有意思的python库——robobrowser.简单的看了一下,觉得这个东东作为轻量的爬虫还是很适合的.另外这个做一些简单的web测试也未尝不可. 好了,那么问题来了. 什么是robobrowser 官方的给出的答案是:RoboBrowser: Your friendly neighborhood web scraper.原谅我这一生不羁放纵不爱读书,真心不知道怎么用博大精深的汉语来翻译这句话,有知道的同学还请告诉一下. 简单来说robobrowser是一个浏览器,没有界面…
背景 有一些站点是需要登录之后才能抓取内容的,另外做web测试的时候登录是家常便饭. 这一节里我们就以登陆testerhome为例,讲解一下robobrowser中form的操作. 预备知识 get_form方法用来抓取form; submit_form方法用来提交表单; form[name].value=方法用来给文本框赋值,也就是说往文本框里写内容; 代码 #coding: utf-8 import re from robobrowser import RoboBrowser url = '…
背景 本节的知识还是属于Beautiful Soup的内容. Beautiful Soup的find和find_all方法非常强大,他们支持下面一些类型的过滤器. 字符串 最简单的过滤器是字符串.在搜索方法中传入一个字符串参数,Beautiful Soup会查找与字符串完整匹配的内容,下面的例子用于查找文档中所有的<b>标签: soup.find_all('b') 正则表达式 如果传入正则表达式作为参数,Beautiful Soup会通过正则表达式的 match() 来匹配内容.下面例子中找出…
背景 本节的知识实际上是属于Beautiful Soup的内容. robobrowser支持Beautiful Soup,一般来说通过下面3个方法获取页面上感兴趣的内容 find find_all select 这一节主要通过一些例子来讲解这几个方法 预备知识 一般来说学习Beautiful Soup是需要了解过滤器这个概念的.不过为了让大家能够容易理解,这里暂时屏蔽过滤器的知识,感兴趣的同学可以去官网学习一下. 通过例子学习 这一节里我们的例子还是http://itest.info/cours…
背景 做一个简单的spider用来获取python selenium实战教程的一些基本信息.因为python selenium每年滚动开课,所以做这样一个爬虫随时更新最新的开课信息是很有必要的. 预备知识 python语法,不会python的同学建议通过这个视频学习: 安装好robobrowser,没有安装的同学参考这里: 任务分解 这个简单的spider任务可以进行进一步的分解: 访问python selenium自动化测试班页面: 获取这个班的名称--python selenium自动化测试…
安装robobrowser 注意:这里假设你知道如何使用pip安装python的库的知识,如果你不了解这一块的话,点这里获取帮助. 强烈推荐使用pip安装. pip install robobrowser -i http://pypi.douban.com/simple/ 这里用上了豆瓣源,原因你懂得. 快速开始 新建1个start.py文本文件,然后敲入下面的代码 import re from robobrowser import RoboBrowser b = RoboBrowser(his…
这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有感>主要介绍了可视化工具Prefuse API中主要解读的是prefuse.data包中的主要接口,并利用<漫谈可视化Prefuse(一)---从SQL Server数据库读取数据>中例子,将参数配置模块剥离出来,实现界面传值,绘制图形. 本篇决定不再贴API,实在没啥意思,还占篇幅(但是不…
鉴于近来国内访问Google的服务受阻,greatfire.org于前天推出了其基于亚马逊AWS的Google搜索镜像网站,地址是sinaapp.co.该网站随后因多家海外媒体的报道和众多微博大V的转发而一炮走红.我们不用想都知道,其结果必然是接受入侵检测装置的认证.不过比较狗血的是,新浪SAE旗下的sinaapp.com域名因为域名中也含有“sinaapp.co”字样,所以随同singaapp.co一同受到了“特殊照顾”——当从海外访问sinaapp.com域下的应用时,都会提示“连接被重置”…