安装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…
背景 学习使用工具实际上不难,不过我们应该通过阅读工具源码来提升自己的水平. 多读代码,读好代码.很不错,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 = '…
背景 在做spider的时候,我们经常会有点击链接的需求. 考虑这样的一个简单spider:获取qq.com主页上的今日话题中的内容. 一般思路是先去qq.com首页上找到今日话题的链接,然后点击这个链接到内容页面,最后抓取里面的内容就好了. 这一节里我们就要实现这个功能. 预备知识 robobrowser的follow_link方法可以点击链接并自动完成跳转. 代码 #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自动化测试…
国内的什么插件地址都TMMD失效了,没办法,只能翻"强"到外面找了,而且找了很多也用不了,所以收藏一个为了预防以后不行有补救的方法: 百度的99%都不行,不是报这个错就是那个错,可怜的天朝死都还要封锁着如今的网络,,,Fu*K.. 不废话添出来供大家分享和以后如果再出现此类问题时候方便自己解决... 这是text3的 import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33…
这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有感>主要介绍了可视化工具Prefuse API中主要解读的是prefuse.data包中的主要接口,并利用<漫谈可视化Prefuse(一)---从SQL Server数据库读取数据>中例子,将参数配置模块剥离出来,实现界面传值,绘制图形. 本篇决定不再贴API,实在没啥意思,还占篇幅(但是不…