看我如何爬取51CTO四千多套课程的信息

前段时间在家里实在是无聊,跟平常一样登陆一些论坛去签到,在上51CTO的时候看到自己这几年收藏的一百多门课程心里想这么大的社区有那么多的免费课程如果就按常规那样一页一页的去找那还不得累死我?所以抱着这种贪小便宜的心态我决定去把这个社区上所有的免费课程来抓一下以方便自己以后去看。(作为51CTO小管家之一这里也当做是给论坛打一次广告)

这里先给各位看一下完成后的代码

图片1.png 

96行代码还不到一百行。

首先是看了一下课程的URL特征,发现在一个特定的URL后面更改参数可以依次查看课程(这里为了安全起见我就不公布URL),然后查看页面的源码

图片2.png发现在类名为main<div>元素中存放的课程信息,在<a>标签中存放的课程链接和标题而在<h4>标签中存放的课程的价格,于是一个思路就浮现了出来,如果按规则匹配出一个页面的所有课程信息然后再依次修改传给URL的参数那样不就可以完成对整站视频的抓取了吗。

首先定义正则要求能匹配到,课程地址,标题,价格这三个信息

图片3.png 

然后定义了分别存放这三个数据的存储列表

图片4.png 

之后为其定义了三个函数用来获取和存放数据

图片5.png 

这样就可以完成对数据的抓取和存放了,那现在就只差一个功能,或者准确来讲是两个因为后面为了增强用户的体验性我增加了用户自定义价格筛选。

首先这里定义了一个函数用来让用户自定义要爬取的页面数量

图片6.png 

之后编写爬虫的运行部分函数,如果你有编程经验你就会发现这个函数是整个程序运行的关键

图片7.png 

接下来就是编写用户自定义价格范围的函数了

图片8.png 

而且为了程序的正常执行这里定义了函数isNull来避免用户不输入价格,最后就是执行的主体了,现在我们来看一下运行结果

图片9.png 

10000元以下的课程采集到了4262

 

免费课程抓到840

图片10.png 

这篇文章主要是分享一下程序的思路,感谢支持

本博客所有文章如无特别注明均为原创。作者:东轩oba复制或转载请以超链接形式注明转自 东轩博客一个自媒体的个人优秀博客园
原文地址《看我如何爬取51CTO四千多套课程的信息

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)