最简单的web爬虫:获取所有课程信息

诚信丨进取丨合作丨创新

招进松勤,送去企业 你若有梦,松勤有心

庆端午

团购立减300

你和高薪

只差一个松勤的距离哇

成功转行,拿到高薪

提升能力,跳槽涨薪

获取所有课程信息

我们现在来实现第一个超级简单的网络爬虫 用来抓取所有测试课程,并打印出来,步骤大概是这样子

先访问所有课程页面,把html代码拿到,实际上就是拿到一个很长的文本,文本内容就是网页的html代码

分析html代码,找到我们需要获取信息的html特征

解析html代码,根据html特征,从里面抠出来课程的名称

打印出所有课程的名称

分析html代码

我们在编写爬虫的时候往往会花很多时间在分析html代码上,毕竟重要的信息都包含在html代码中,我们需要找到合适的特征,通过固定的套路去解析html,获取特定内容。

课程名称部分的html代码如下所示

可以看到,课程名称的html标签是,通过搜索整个页面,我们发现页面上只有4个h4,也就是说,只要获取到页面上所有的h4,我们就能把课程名称给解析出来。

分析html一般有下面一些套路

缩小范围: 只解析特定区域的html,比如只遍历标签中的子元素

组合属性: 有一些节点的属性是相同的,但我们经常只需要获取其中一些节点的内容,这时候可以通过组合该节点属性和其父节点属性的方式指定特定的节点

先遍历后过滤:还是上面一种情况,我们也可以先遍历所有的目标节点,再从目标节点中过滤出我们感兴趣的内容

解析html代码

大家可以先去了解一下html的基础知识,比较有用的是html元素和html属性

Beautiful Soup库可以帮我们解析html代码,所谓的解析,无非是做下面的一些事情

从html文档中找到一些元素

获取某个元素或者一些元素的属性

获取某个元素或者一些元素的文本

在这个例子里,我们就是要找到所有元素,并获取所有元素的文本。

代码

新建名为的文件,输入下面的内容

运行

在命令行中输入

预期结果

如果一切正常,那么应该可以看到下面的结果

祝你好,愿你安,护你成功入行,助你跳槽涨薪!

小编随时等待你的撩(V:songniyipixiaoxiaoma,即送你一匹小小马)

关注“松勤软件学院”

松勤

学习技术,多问问题,和松勤一起成长

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180614A1HHCE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券