您的位置:首页 > 编程语言 > Python开发

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

2017-12-27 12:52 393 查看

前面的章节

Python安装

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

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

爬虫是啥

网络爬虫是什么?

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

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

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

开始爬前的准备

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

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

下载并解压



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

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







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

开始获取HTML





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

解析HTML

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

还是用一个第三方库 Beautiful Soup

这是个什么库呢?

直译为:漂亮的汤?

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

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

而且也有强大的中文支持





首先分析,解析哪些链接



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



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

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



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

2、解析DIV

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



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



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



输出所有的链接





对应HTML源码



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

因为这些都是站内链接,

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



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



输出的链接如下:



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

下一步工作,下一节再说,现在还有些事,改天聊
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: