还没被玩坏的robobrowser(3)——简单的spider

背景

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

预备知识

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

任务分解

这个简单的spider任务可以进行进一步的分解:

  • 访问python selenium自动化测试班页面;
  • 获取这个班的名称--python selenium自动化测试班;
  • 获取这个班的描述--独一无二的超低价培训-口碑之选;
  • 获取开班的时间--第五期报名截止2015年1月17日,开课时间1月17日;
  • 获取报名方式--课程咨询请联系QQ:12079456;
  • 获取selenium进阶群的群号--技术交流+selenium 进阶群:189116036;
  • 获取授课老师信息--虫师;

正式开始

 1 import re
 2 from robobrowser import RoboBrowser
 3
 4 # 访问python selenium自动化测试班的页面
 5
 6 url = ‘http://itest.info/courses/2‘
 7 b = RoboBrowser(history=True)
 8 b.open(url)
 9
10 # 获取这个班的名称--python selenium自动化测试班
11 class_name = b.select(‘.headline h2‘)
12 print class_name[0].text
13
14 # 获取这个班的描述--独一无二的超低价培训-口碑之选
15 class_desc = b.select(‘.tag-box‘)
16 print class_desc[0].text
17
18 # 获取开班的时间--**第五期报名截止2015年1月17日,开课时间1月17日
19 class_time = b.select(‘h4‘)
20 print class_time[0].text
21
22 # 获取授课老师信息--虫师
23 teacher = b.select(‘.thumbnail-style h3‘)
24 print teacher[0].text
25
26 # 获取报名方式--**课程咨询请联系QQ:12079456
27 qq = b.find(text=re.compile(‘QQ‘))
28 print qq
29
30 # 获取selenium进阶群的群号--**技术交流+selenium 进阶群:189116036
31 qq_group = b.find(text=re.compile(‘\+selenium‘))
32 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抓取网页内容

时间: 2024-10-18 22:26:04

还没被玩坏的robobrowser(3)——简单的spider的相关文章

那些年被我玩坏的点子和创意-下篇

时光如白驹过隙,继那些年被我玩坏的点子和创意-上篇已过一个月,平常忙活着和队友一起做产品了,挤得时间总结了下篇,分四个故事来说 自动发微博软件为啥做这个呢,淘宝客接口还没有限制以前好多玩淘宝客的.其中我发现有个淘宝客玩的挺特别的,他是在新浪微博和腾讯微博(当时还没有关闭),上通过时光机等一些定时发微博的平台给粉丝推送淘客商品信息,我还记得他的微博马甲叫"型男服装搭配",他推送的微博都是从淘宝男装男鞋等类目下的按销量等某些筛选条件后的top N条商品,我不知道这样效果怎么样,但我知道可以

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

这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有感>主要介绍了可视化工具Prefuse API中主要解读的是prefuse.data包中的主要接口,并利用<漫谈可视化Prefuse(一)---从SQL Server数据库读取数据>中例子,将参数配置模块剥离出来,实现界面传值,绘制图形. 本篇决定不再贴API,实在没啥意思,还占篇幅(但是不

科技不该被玩坏!宏碁携自拍帽登时装周

虽然平时我们总能见到许多奇葩的人.事.物,但那些似乎都还情有可原--比如凤姐这么奇葩就是为了出名.在这个奇葩层出不穷的时代,我们似乎已经有了很强的免疫力,对什么都见怪不怪.但总有一些表现得太过分的事物是我们所不能容忍的,比如科技产品中的奇葩.科技产品可以不实用,可以价格高,可以很小众,但绝不能被玩坏!而近日,宏碁却无视了这些底线,将旗下的科技产品彻底玩坏. 宏碁推出一款造型怪异的自拍帽子,完全超出了业界和消费者的想象,让我和围观的小伙伴脑洞大开.但"欣赏"完之后,却丝毫没有购买的冲动,

苹果或将玩坏企业市场?

过去8年的时间里,苹果向世界上输出了大量的iPhone和iPad,而且以一种掌控的姿势不断扩张,现在,他们已经拿走了整个智能手机市场90%的利润,iPad在平板市场也从未丢掉过金牌,包括市场占有率和利润都首屈一指.如果把消费市场比作一场游戏,那么,苹果显然能闭着眼睛通关了,更确切地说,苹果创造了一个全新的消费市场,并利用强大的技术.设计能力.供应链管理能力以及品牌效应,制定了这里的游戏规则,于是,他们总给人一种"怎么玩都行"的感觉,比如其他手机制造商们在推出新产品之前,总不免要担心市场

从共享健身仓到共享马扎,看共享经济如何被玩坏

看到现在共享经济项目遍地开花,其实很多行业都捶胸顿足感叹自己诞生地太早了.就像网吧,其实也能说是共享经济--提供电脑解决大众上网需求,并占据他们的time和money.而如今,"共享"已经被完全玩坏了,披着"共享"的外衣却有着各种小九九的项目层出不穷. 共享健身仓.共享马扎--这些打着"共享"名号的项目,或者是名不副实,或者是有着其他目的.而最终的结果,就是让业界.投资者和大众谈"共享"即色变.对于共享经济的破坏,什么时候才能

众筹是被玩坏的C2B

什么叫"众筹"? 我们先来看看京东众筹对"众筹"的阐述. "众筹"译自crowdfunding,即大众筹资或群众筹资,是一种通过互联网方式向网友募集项目资金的模式.从行业来看,国内的众筹还是一个新兴行业,处在初创阶段.众筹的通俗说法就是,彼此成就梦想,大家筹钱完成一个任务.和预售.团购的区别是:预售是B2C,众筹偏向C2B,就是出资人先有购买或投资的意愿,筹资人按需组织生产. 众筹具有三点特征:1. 排他性,即处于众筹期限内的产品仅在单一渠道发售

让我们把KBEngine玩坏吧!如何定制我们自己的C++函数(一)

为什么不更新kbe warring的代码解读了,因为在我看来那个demo讲完了实体就没东西可讲了,如果专心的看官方文档和PPT的话demo的代码后面没任何难点了已经,单纯的复制黏贴代码实在太过无聊.程序员一定要做点好玩的事情才行~ 好吧,今天开始想法直接改引擎底层,争取把引擎底层直接玩坏(*^__^*) 另外因为平时工作比较忙,这个系列会不定期的更新. 从自己的HelloWorld写起 先来点简单的,baseapp脚本层调用一个自定义的C++函数,输出helloworld! 因为是baseapp

你还没真的努力过,就轻易输给了懒惰

(Xee:越来越懒惰了,哎,最近的日子不是很好过!多读些书吧) 前不久一个孩子在微信上发了一大堆截图给我,仔细一看,都是介绍北大清华的牛人们的.这个得了奥赛冠军,那个门门年级第一.那孩子很颓丧得说:"我觉得我再怎么努力也比不上他们啊,突然对自己的未来好没有希望." 忽然想到了知乎上的一个经典回答:"以大多数人努力的程度,根本还没到拼智商的地步." 我的一个远房舅妈,一直是个亲戚中的著名人物. 由于时代的原因,她读到初中毕业就没有继续念书了.毕业后进入了工厂上班,经人

你的游戏为啥没人玩?英雄救美戏份够不够咧……

不少经典的童话故事,似乎也多是男权主义盛行,哪怕第一主角是女性,如灰姑娘.白雪公主之类的,也都在等待王子--游戏不正是童话的互动高清版吗? 文/张书乐 刊载于5月29日<人民邮电报>应用版乐游记专栏 <复仇者联盟2>上映后,有个小伙伴很"无厘头"地问了我一个问题:在剧中,黑寡妇比起那些男性超级英雄来说,战斗力基本为零,为何还要这么个角色?还没看过这部电影的我则毫不犹豫地给了他一个"神回复":没有英雄救美的戏,票房也许会有点"痛&qu