Python安装

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

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

python学习 二 02
爬一个图网站,获得主链接网址,并保留

python学习 二 03
爬一个图纸网站-获得有分页网址

python学习 二 04
爬一个图形网站-解析文件,获得有图片链接

python学习 二 05
爬一个图纸网站-下载图片链接

python学习 二 06
爬一个图形网站-多线程方式下载

python学习 三 01
再攀一个网站,几行代码,搞定分类项目

python学习 三 02
再攀一个网站,获得有分页

python学习 三 03
再攀一个网站,根据分页,下充斥图片

Python 爬虫
上篇

Python 爬虫
下篇

Python 爬虫 上篇

Python爬虫学习 第一篇 准备

近期动python用来爬取网络图片,之前也时有发生分章介绍,这次合并集中介绍下自己之爬虫过程。

爬虫是甚

网络爬虫是呀?

关押意思是一个虫子,一个啊虫子?实际上指的凡蜘蛛spider。

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

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

始于攀登前的备

只要起来攀登,你得先清楚爬哪里吧,你得预获网页的源码即HTML信息吧,获得后,你要分析出链接和图表等资源吧。

假设博取HTML并分析网页信息,需要下载一个叔正在的库requesets,下载地址:

下载并解压

XML 1

无限要害的凡 这个库房有到之华语资料 ,讨厌蝌蚪文的足放心的参考

卿如果和自己同样用pycharm来编排,加入第三方库的步子如下:

XML 2

XML 3

XML 4

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

开获得HTML

XML 5

XML 6

如何,惊喜不惊喜,简单不略,使用另外语言,无法用这么简单的口舌就获html的消息。

解析HTML

采取request获取了网页源码,下同样步就是是怎么剖析了,你一旦就此过C++等语言,你晤面发现好麻烦找到中意的网页解析库,但python在即时上面却生善于。

还是用一个叔着库 Beautiful Soup

当时是单什么库呢?

直译为:漂亮的口服液?

莫非是以网页作为美味的药水,从即汤里慢慢品尝中滋味,抽丝剥茧的分析汤之组合成分、汤底味道?
老外的思路,真难猜,先凭是了。

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

又也闹强的华语支持

XML 7

XML 8

第一分析,解析哪些链接

XML 9

马上应该是比照类别来分的,我们于源码中找到这同一起

XML 10

就此有乱码,很可能是同自身电脑没有日文字体有关呢说不定编码不得法,先管其了,目前本着分析无影响,可以见见,这些项目是放在class=menu的div下了,具体的就算是这个DIV下的

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

XML 11

然咱们尽管获取了这DIV的内容,下面还持续分析是DIV

2、解析DIV

解析这个DIV,还要坐之DIV内容呢参数,构造一个BeautifulSoup(以下简称为BS
:) 注意不要是瞧不起的意)对象,因为全篇只发一个menu
类型的DIV,所以有品种且封存于上头解析的div_menu[0]倍受了,将是目标强制转换为字符串类型做BS的参数

XML 12

圈源码可以发现,链接都是立外链接

XML 13

现在注意了,我如果将具备的链接提取出

XML 14

输出所有的链接

XML 15

XML 16

对应HTML源码

XML 17

得看到,第一单
a标签,是尚未href属性的,所以,会输出None,其它a标签,正常输出

以这些还是立内链接,

咱事先定义一个变量,表示该站的域名

XML 18

与此同时因,有的链接或者是none,所以需要判定下是否存在href属性,下面是出口所有链接的代码

XML 19

输出的链接如下:

XML 20

这么,我们不怕不易的取得了这些项目对应之网址了。

下同样步工作,下一样节省再说,现在还发出把从,改天聊

第二篇

https://docs.python.org

书接上扭动,上文书说道,我们曾经得到了具备品类的链接。

下我拿这些链接保存至一个临时文件中,其实不保留也可,但开学python,借这个时机,也练练如何创造目录,保存文件。

拿上文获得的主链接保存到文件中

概念一个函数,搞不清楚,为什么python不用C语言那样的概念函数,也未用C语言的那样的循环和跳转,一时因此惯了别的语言的人口,很麻烦一下子变动过来。

当下是描摹的以链表中之链接,保存至文件中去,

XML 21

描绘及一个文件被,有硌乱,因此,我又新建了一个py文件,用以编写常用的函数,取名为common.py

下载获得的主链接

以自身将具备的常用函数,写到common.py中了,所以只要导入这个文件

XML 22

主程序中,要用到这common中由定义的保存函数

XML 23

XML 24

经测试,可以以列表内容,写副文件了。

兹,我还要看了羁押,觉得特别乱,我眷恋单独的成立一个目录tmp,用来保存临时文件

目录文件有关的,要引入os

XML 25

XML 26

不管怎么说,使用下代码,已经拿持有的链接都保存在临时文件中。

XML 27

XML 28

第三篇

本节思路

张罗一料理逻辑,先不去考虑细节,逻辑理清矣,根据是逻辑去落实细节就哼了。我为是首先坏用python,也没有工夫看文档,因为想抱图片素材,直接就是想爬一个网站。

我们事先,已经分析了首页,获得了图类别对应的链接,并拿这些链接保存于了地方文件被。

下面,

先是步,我们会生充斥主链接网页,保存在地头文件中。

亚步,分析主链接,获得对应的持有分页网址

老三步,将主链接及分页链接,统统下载下来

下载下来后,后续我们会分析网页,获得图片地址,下充斥图片,本节主要完成前三步即可。

下载主链接网页,保存于该地

上文,我们以首页中主链接保存了起来,

XML 29

下面,为了祛除每次下充斥网页的劳动,我们一次性下载这些网页,并保留于当地中

主文件中,就一样句话,因为细节都封装于另一个文件被了,我们要考虑逻辑,细节可以由此翻看资料去落实,去调节。

XML 30

顿时是common.py中描绘的下载函数

XML 31

其间调用了单个网址下充斥函数downHtml

XML 32

由此上述代码,已经用链接下充斥至了本土。

获得分页链接

上文提到,解析了首页,将享有的主分类链接保存及了地面文件中。

我们重打开一个主链接省

XML 33

每个主链接,都发对应的分页链接

俺们下的目的,就是收获主链接对应的具有分页链接

分析网页源码

XML 34

分割页链接保存在class=link2的 div下

XML 35

个中,获得分页链接的代码如下:

XML 36

用富有的链接对应之网页,下充斥到地方

XML 37

XML 38

立是下载后底本土文件

XML 39

第四篇

遵节目之:解析下充斥至当地的文本,获得图片链接

XML 40

有着相关的网址,都生充斥至地头了,下面我们逐个解析,获得图片链接,然后将图片链接保存起来。

由上图,可看到

XML 41

是一致组,保存着背景图片,那我们分析的当儿,将即时同样组图片,单独的位于一个文本夹background中

XML 42

是外一样组,解析的下,单独的厕一个文本夹着

首先步,我们遍历目录,获得有的文书路径

啊是,我勾勒了个函数

#目下之公文和文件夹def GetAllSubFile(dir,list):

#目下之文书def GetAllSubFile(dir,list,ext):

#目录下之公文夹def GetAllSubDirs(dir,list):

XML 43

调用

txtFileList=[]common.GetAllSubFile(tmpDir+”htmls\”,txtFileList,”txt”)

获目录下的txt文件路径,保存于txtFileList中。

其次步 解析文件,获得IMG路径

1、 首先,针对不同分组,创建相应的子目录

XML 44

举凡相同组,保存着背景图片,那咱们解析的时,将立刻无异组图,单独的居一个文本夹background中

俺们将右侧的数字去丢,剩下的字符串作为当下同一组的花色

XML 45

XML 46

剖析源码

XML 47

贪图如链接保存在class=subcontents的div下,

为夫我写了单函数

XML 48

XML 49

调用

common.FindAllImg(txtFile,”div”,”subcontents”,”data-layzr”)

得到文件被,所有图片的链接列表,、

XML 50

XML 51

当即等同历程的代码如下:

XML 52

第五篇

下载图片链接

本节底重大任务是下充斥文件被落的图片链接

XML 53

啊这我勾勒了个函数

def downImg(httpPath,localPath):

实测中,考虑到发来链接不存在,有些链接超时,有些链接其它错误,所以同样涂鸦下充斥不了,多次尝试。

与此同时使用request.urlretrieve(httpPath,localPath)
直接下载时,出现出现10060荒唐,于是利用request.urlopen(httpPath,timeout=60),然后以朗诵之不二法门开展下载。

XML 54

自我就的目录结构是这么的

XML 55

XML 56

率先步,读取所有的子文件夹

老二步,读取子文件夹下的img.txt

其三步,下载img.txt中之链接

呢是,我以写了脚的函数

XML 57

XML 58

DownThumbnail
是产载缩略图,因为这网站上,目前要的的这些链接对应之是缩略图。

运作后,就见面发觉,可以下载了

XML 59

手上凡单线程方式下载的缩略图

下一节介绍下多线程方式,下充斥高清图

第六篇

大抵线程方式下载

XML 60

XML 61

使用:

XML 62

下载下之图片,

基本上线程下载速度是比单线程要赶早一些

XML 63

本着您有所启发的话,欢迎扫下红包奥

XML 64

相关文章

网站地图xml地图