美文网首页python学习
Python新手爬虫,简单制作抓取廖雪峰的教程的小爬虫

Python新手爬虫,简单制作抓取廖雪峰的教程的小爬虫

作者: 云飞学编程 | 来源:发表于2018-04-21 13:18 被阅读28次

    在整个抓取过程中,除了普通的文本以外,还需要处理3个地方,分别是:代码、图片、视频,因为目前只写入了文本文件,所以直接抓到图片或者视频的地址,标识清楚后写入到txt,这里可以再进一步,写到word/pdf或者其他文件,留待以后改进!

    话不多说,先来看看整个爬虫过程吧!

    目标:廖雪峰官网—python教程

    工具:pycharm、python3.6、requests库、time库、lxml库

    思路:

    抓取所有的目录章节url

    找到url内教程主体所在的div

    遍历div下所有标签,文本和代码部分内容直接保存

    区分其中的代码、图片、视频3个内容,分别以文本、url的形式保存并做好标识

    加入时间计数,统计总用时

    大致如上,我们先来抓取所有的章节url,这里我们用xpath 来匹配div,然后循环div下的所有a标签的文本和href属性,这两个为章节的名字和url,当然url部分需要拼接,加入域名就可以!

    Header和主页信息,请自行添加哦!

    取到章节信息后,还需要判断是否存在子章节,存在则需要继续取,观察网页后发现子章节所在标签为a标签的平级div标签,用if判断就可以!

    网页结构如下

    代码我们这样写

    其中get_summary()函数是我自定义的下载函数,代码如下

    传入3个参数:url是开始我们抓到的章节或者子章节的url,name为章节名,title为子章节名,默认为空,这样做是为了在写入文件时进行判断,大家自行查看就可以,注意的是前面说到的3个地方,文章中的代码部分是在标签下,和标签一样取出内容即可,图片和视频所在的标签分别做判断,存在则将url写入文本!

    最终运行程序结果

    在txt下,不要选择自动换行,否则,代码部分就不好看了!

    整个爬虫部分很简单,复杂的部分是处理各种标签及标签下的其他内容,最后写入文件因为不需要排版,反而简单。

    欢迎大家来找我一起交流,完善代码!

    相关文章

      网友评论

      本文标题:Python新手爬虫,简单制作抓取廖雪峰的教程的小爬虫

      本文链接:https://www.haomeiwen.com/subject/iruqfftx.html