美文网首页程序员
python自我学习 二 爬一个图片网站上

python自我学习 二 爬一个图片网站上

作者: 古典小说 | 来源:发表于2017-12-27 13:01 被阅读0次

    前面的章节

    Python安装

    python自我学习 一 python语法,及变量类型

    本节章节 爬一个图片网站上

    爬虫是啥

    网络爬虫是什么?

    看意思是一个虫子,一个什么虫子?实际上指的是蜘蛛spider。

    蜘蛛结成网,在网上爬来爬去的寻找坠入网络中的食物。

    网络爬虫就是差不多的意思,在互联网上爬来爬去的寻找你的精神食物。

    开始爬前的准备

    要开始爬,你得先知道爬哪里吧,你得先获得网页的源码即HTML信息吧,获得后,你需要分析出链接和图片等资源吧。

    要获取HTML并分析网页信息,需要下载一个第三方的库requesets,下载地址:

    下载并解压

    最重要的是 这个库有完善的中文资料 ,讨厌蝌蚪文的可以放心的参考

    你如果和我一样使用pycharm来编辑,加入第三方库的步骤如下:

    安装好requests第三方库后,开始测试

    开始获取HTML

    怎么样,惊喜不惊喜,简单不简单,使用其它语言,无法用这么简单的语句就获得html的信息。

    解析HTML

    使用request获取了网页源码,下一步就是如何解析了,你如果用过C++等语言,你会发现很难找到顺心的网页解析库,但python在这方面却很擅长。

    还是用一个第三方库 Beautiful Soup

    这是个什么库呢?

    直译为:漂亮的汤?

    难道是将网页作为美味的汤,从这汤里慢慢品味其中滋味,抽丝剥茧的分析汤的构成成分、汤的味道? 老外的思路,真难猜,先不管这个了。

    说白了,就是用来解析HTML或XML,从中提取有用数据的库。

    而且也有强大的中文支持

    首先分析,解析哪些链接

    这应该是按类别来分的,我们在源码中找到这一项

    之所以有乱码,很可能是与我电脑没有日文字体有关也可能编码不正确,先不管它了,目前对解析无影响,可以看出,这些类别是放在class=menu的div下了,具体的就是这个DIV下的

    1、好了,首先第一步,获得这个DIV

    这样我们就获得了这个DIV的内容,下面再继续解析这个DIV

    2、解析DIV

    解析这个DIV,还要以这个DIV内容为参数,构造一个BeautifulSoup(以下简称为BS :) 注意绝不是鄙视的意思)对象,因为全篇只有一个menu 类型的DIV,所以所有类型都保存在上面解析的div_menu[0]中了,将这个对象强制转换为字符串类型做BS的参数

    看源码可以发现,链接都是站内链接

    现在注意了,我要把所有的链接提取出来

    输出所有的链接

    对应HTML源码

    可以看到,第一个 a标签,是没有href属性的,所以,会输出None,其它a标签,正常输出

    因为这些都是站内链接,

    我们先定义一个变量,表示该站的域名

    又因为,有的链接可能是none,所以需要判断下是否存在href属性,下面是输出所有链接的代码

    输出的链接如下:

    这样,我们就正确的获得了这些类别对应的网址了。

    下一步工作,下一节再说,现在还有些事,改天聊

    相关文章

      网友评论

        本文标题:python自我学习 二 爬一个图片网站上

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