背景

做一个简单的spider用来获取python selenium实战教程的一些基本信息。因为python selenium每年滚动开课,所以做这样一个爬虫随时更新最新的开课信息是很有必要的。

预备知识

  • python语法,不会python的同学建议通过这个视频学习;
  • 安装好robobrowser,没有安装的同学参考这里

任务分解

这个简单的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的更多相关文章

  1. 还没被玩坏的robobrowser(1)-简介

    今天偶然发现了一个很有意思的python库——robobrowser.简单的看了一下,觉得这个东东作为轻量的爬虫还是很适合的.另外这个做一些简单的web测试也未尝不可. 好了,那么问题来了. 什么是r ...

  2. 还没被玩坏的robobrowser(2)——安装及快速开始

    安装robobrowser 注意:这里假设你知道如何使用pip安装python的库的知识,如果你不了解这一块的话,点这里获取帮助. 强烈推荐使用pip安装. pip install robobrows ...

  3. 还没被玩坏的robobrowser(8)——robobrowser的实现原理

    背景 学习使用工具实际上不难,不过我们应该通过阅读工具源码来提升自己的水平. 多读代码,读好代码.很不错,robobrowser的代码简单易懂,值得学习. 预备知识 源码地址 一起其实是从browse ...

  4. 还没被玩坏的robobrowser(7)——表单操作

    背景 有一些站点是需要登录之后才能抓取内容的,另外做web测试的时候登录是家常便饭. 这一节里我们就以登陆testerhome为例,讲解一下robobrowser中form的操作. 预备知识 get_ ...

  5. 还没被玩坏的robobrowser(6)——follow_link

    背景 在做spider的时候,我们经常会有点击链接的需求. 考虑这样的一个简单spider:获取qq.com主页上的今日话题中的内容. 一般思路是先去qq.com首页上找到今日话题的链接,然后点击这个 ...

  6. 还没被玩坏的robobrowser(5)——Beautiful Soup的过滤器

    背景 本节的知识还是属于Beautiful Soup的内容. Beautiful Soup的find和find_all方法非常强大,他们支持下面一些类型的过滤器. 字符串 最简单的过滤器是字符串.在搜 ...

  7. 还没被玩坏的robobrowser(4)——从页面上抓取感兴趣的内容

    背景 本节的知识实际上是属于Beautiful Soup的内容. robobrowser支持Beautiful Soup,一般来说通过下面3个方法获取页面上感兴趣的内容 find find_all s ...

  8. 漫谈可视化Prefuse(四)---被玩坏的Prefuse API

    这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有 ...

  9. .CO域名快被这帮搞IT的玩坏了……

    鉴于近来国内访问Google的服务受阻,greatfire.org于前天推出了其基于亚马逊AWS的Google搜索镜像网站,地址是sinaapp.co.该网站随后因多家海外媒体的报道和众多微博大V的转 ...

随机推荐

  1. Mybatis源码分析之SqlSessionFactory(一)

    简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBa ...

  2. DELL平板如何安装WIN10系统-磁盘分区问题

    已经进入PE之后,在这一步的时候,可以把默认的系统分区都移除,但是在计算机管理可能右击没有这个菜单,要用专门的软件弄   不要用分区助手,会提示不能对动态磁盘进行操作,要用Disk Genius(他的 ...

  3. APP测试体系

    网上找的图片,总结的很好:

  4. h5画图表

    折线: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&q ...

  5. Maven进行Mahout编程,使其兼容Hadoop2.2.0环境运行 (转)

    http://blog.csdn.net/u010967382/article/details/39209329 http://blog.csdn.net/fansy1990/article/deta ...

  6. mybatis批量删除(逻辑删除)

    在Mapper.xml文件中 <!-- 批量删除 --> <delete id="deleteAd" parameterType="java.util. ...

  7. hdu 4336 概率dp + 状压

    hdu 4336 小吃包装袋里面有随机赠送一些有趣的卡片,如今你想收集齐 N 张卡片.每张卡片在食品包装袋里出现的概率是p[i] ( Σp[i] <= 1 ), 问你收集全部卡片所需购买的食品数 ...

  8. 【PMP】十五至尊图

    以上是PMP的10大知识领域与5个过程组,在PMP考试中属于必须记忆的知识,该知识来源于PMBOK 第6版 附件为每日练习记忆模板,可以更好的记忆上图 点击下载附件

  9. V-rep学习笔记:并联机构正逆运动学

    Solving the FK problem of simple kinematic chains is trivial (just apply the desired joint values to ...

  10. 给本地服务器配置py文件的下载功能

    打开以下网址 http://localhost/Myservers/test/weibo.py //本地服务器,下载Myservers目录下的test目录中的weibo.py文件 错误提示: HTTP ...