在上一篇我们已经把要怕的网页抓取到了,接下来就是细化内容。

1.页面内容分析
首先我们看到左侧导航栏就是课程的目录,那么我们可以先把课程目录已经对应的链接爬出来。
2.抓取目录以及目录链接
我们使用美丽的汤 BeautifulSoup来实现这一目的
接上篇文章,先导入包:

接下来我们打印一下soup看下结果:

我们要抓取的数据是链接以及标题,去掉没用的信息,从上图中我们看到,我们需要的是<div class="design" id="leftcolumn">下面的所有a标签中的信息

看下效果:

已经把想要的内容抓取过来了,现在就是截取href的链接内容以及title内容,我们注意到,href链接没有网站的网址,我们可以自己拼接上:
依然打印出来看看效果:

正式我们想要的内容,接下来就利用循环抓取全部的内容吧:

3.将内容写入文件

这样我们就将抓取的内容写入到文件里保存起来了。需注意,文件内容包含数字,在将list写人文件时,要先转换成字符串。

有了以上的内容,我们就可以得到Python3所有的课程列表以及链接了。
网友评论