还没被玩坏的robobrowser(3)——简单的spider
背景
做一个简单的spider用来获取python selenium实战教程的一些基本信息。因为python selenium每年滚动开课,所以做这样一个爬虫随时更新最新的开课信息是很有必要的。
预备知识
任务分解
这个简单的spider任务可以进行进一步的分解:
- 访问python selenium自动化测试班页面;
- 获取这个班的名称--python selenium自动化测试班;
- 获取这个班的描述--独一无二的超低价培训-口碑之选;
- 获取开班的时间--第五期报名截止2015年1月17日,开课时间1月17日;
- 获取报名方式--课程咨询请联系QQ:12079456;
- 获取selenium进阶群的群号--技术交流+selenium 进阶群:189116036;
- 获取授课老师信息--虫师;
正式开始
import re
from robobrowser import RoboBrowser # 访问python selenium自动化测试班的页面 url = 'http://itest.info/courses/2'
b = RoboBrowser(history=True)
b.open(url) # 获取这个班的名称--python selenium自动化测试班
class_name = b.select('.headline h2')
print class_name[0].text # 获取这个班的描述--独一无二的超低价培训-口碑之选
class_desc = b.select('.tag-box')
print class_desc[0].text # 获取开班的时间--**第五期报名截止2015年1月17日,开课时间1月17日
class_time = b.select('h4')
print class_time[0].text # 获取授课老师信息--虫师
teacher = b.select('.thumbnail-style h3')
print teacher[0].text # 获取报名方式--**课程咨询请联系QQ:12079456
qq = b.find(text=re.compile('QQ'))
print qq # 获取selenium进阶群的群号--**技术交流+selenium 进阶群:189116036
qq_group = b.find(text=re.compile('\+selenium'))
print qq_group
简单讲解
- b = RoboBrowser(history=True) b.open(url) 用来创建browser和打开url,没什么新意,记住就好了;
- b.select() 方法可以接受css选择器,返回页面上所有符合条件的元素的集合,也就是说返回的是list,可以进行迭代;
- b.find() 的用法在这里,只返回1个精确的结果;
- 注意,find和select方法返回的均是Beautiful Soup的tag对象或对象集合;
如果你对上面的例子不甚理解那也没什么关系,后面几节会按照场景进行分析讲解。
文本版权归乙醇所有,欢迎转载,但请标明出处。
下一节:robobrowser抓取网页内容
还没被玩坏的robobrowser(3)——简单的spider的更多相关文章
- 还没被玩坏的robobrowser(1)-简介
今天偶然发现了一个很有意思的python库——robobrowser.简单的看了一下,觉得这个东东作为轻量的爬虫还是很适合的.另外这个做一些简单的web测试也未尝不可. 好了,那么问题来了. 什么是r ...
- 还没被玩坏的robobrowser(2)——安装及快速开始
安装robobrowser 注意:这里假设你知道如何使用pip安装python的库的知识,如果你不了解这一块的话,点这里获取帮助. 强烈推荐使用pip安装. pip install robobrows ...
- 还没被玩坏的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 ...
- 漫谈可视化Prefuse(四)---被玩坏的Prefuse API
这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有 ...
- .CO域名快被这帮搞IT的玩坏了……
鉴于近来国内访问Google的服务受阻,greatfire.org于前天推出了其基于亚马逊AWS的Google搜索镜像网站,地址是sinaapp.co.该网站随后因多家海外媒体的报道和众多微博大V的转 ...
随机推荐
- Mybatis源码分析之SqlSessionFactory(一)
简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBa ...
- DELL平板如何安装WIN10系统-磁盘分区问题
已经进入PE之后,在这一步的时候,可以把默认的系统分区都移除,但是在计算机管理可能右击没有这个菜单,要用专门的软件弄 不要用分区助手,会提示不能对动态磁盘进行操作,要用Disk Genius(他的 ...
- APP测试体系
网上找的图片,总结的很好:
- h5画图表
折线: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&q ...
- Maven进行Mahout编程,使其兼容Hadoop2.2.0环境运行 (转)
http://blog.csdn.net/u010967382/article/details/39209329 http://blog.csdn.net/fansy1990/article/deta ...
- mybatis批量删除(逻辑删除)
在Mapper.xml文件中 <!-- 批量删除 --> <delete id="deleteAd" parameterType="java.util. ...
- hdu 4336 概率dp + 状压
hdu 4336 小吃包装袋里面有随机赠送一些有趣的卡片,如今你想收集齐 N 张卡片.每张卡片在食品包装袋里出现的概率是p[i] ( Σp[i] <= 1 ), 问你收集全部卡片所需购买的食品数 ...
- 【PMP】十五至尊图
以上是PMP的10大知识领域与5个过程组,在PMP考试中属于必须记忆的知识,该知识来源于PMBOK 第6版 附件为每日练习记忆模板,可以更好的记忆上图 点击下载附件
- V-rep学习笔记:并联机构正逆运动学
Solving the FK problem of simple kinematic chains is trivial (just apply the desired joint values to ...
- 给本地服务器配置py文件的下载功能
打开以下网址 http://localhost/Myservers/test/weibo.py //本地服务器,下载Myservers目录下的test目录中的weibo.py文件 错误提示: HTTP ...