python爬虫实战小项目

本文所讲的爬虫实战属于基础、入门级别,使用的是python2.7实现的。


爬虫原理和思想

本项目实现的基本目标:在捧腹网中,把搞笑的图片都爬下来,注意不需要爬取头像的图片,同时,将图片命好名放在当前的img文件中。

爬虫原理和思想

爬虫,就是从网页中爬取自己所需要的东西,如文字、图片、视频等,这样,我们就需要读取网页,然后获取网页源代码,然后从源代码中用正则表达式进行匹配,最后把匹配成功的信息存入相关文档中。这就是爬虫的简单原理。

思想步骤:
读取网页并获取源代码,使用urllib.urlopen().read() ——> 使用正则表达式进行匹配,匹配图片的名称re.compile() re.findall() ——> 匹配图片地址——>将匹配的信息下载保存 urllib.urlretrieve()


爬虫涉及到额度基本知识

1 导入库/模块

import urllib ,re ,sys

注:该项目使用的是python的自带库,不需要另外下载

2 urllib.urlopen()的使用

该代码是用于读取网页

exp:

使用urllib.urlopen()打开捧腹网



使用read()读取,如网站比较庞大,也可以使用readline()按行读取



3 re.compile()和re.findall()

re.complie()的作用是把正则表达式编译成正则表达式对象,使其运行更有效率

re.findall()的作用是匹配信息,输入的是字符串,返回的是列表


爬虫实战

爬虫原理,思想,基本知识都理解以后,就开始实战了!

首先,编写打开网页并获取源码的函数page()

此处,编写函数,并测试其功能:



测试结果:



显然,成功获取网页源码。然后,编写匹配图片名称的函数。



注意:这里需要匹配到h1标签和a标签!当然这里使用的是懒惰匹配。
同理可得,同样需要匹配图片



最后,需要把匹配好的信息下载保存



注:本人在该项目目录下,新建了一个文件夹img

把以上函数相结合,编写主程序,爬去1-6页的图片



最后,运行程序,





成功爬取图片!

程序成功运行后,本人感觉只是爬取静态图不够过瘾,感觉捧腹网的动图才比较有趣,所以尝试修改程序。

修改的地方有两个,一个是content()函数中的匹配,一个是download()函数的保存文件格式


测试结果:




测试成功,成功将gif文件下载

你可能感兴趣的:(python)