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

  • A+
所属分类:编程语言

前面的章节

Python安装

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


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

爬虫是啥

网络爬虫是什么?

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

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

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

开始爬前的准备

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

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

下载并解压

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

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

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

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

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

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

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

开始获取HTML

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

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

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

解析HTML

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

还是用一个第三方库 Beautiful Soup

这是个什么库呢?

直译为:漂亮的汤?

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

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

而且也有强大的中文支持

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

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

首先分析,解析哪些链接

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

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

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

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

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

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

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

2、解析DIV

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

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

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

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

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

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

输出所有的链接

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

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

对应HTML源码

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

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

因为这些都是站内链接,

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

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

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

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

输出的链接如下:

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

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

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

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: