编程这种实用性的工程性语言,光看书、背概念是完全刻舟求剑;learning with doing才是最快速的学习方法。我打算将自己学习爬虫的周期,总结之后写在CSDN上;通过自己感觉非常经典的实例,来表达爬虫的知识点。话不多说,上一篇描述了爬虫的原理之后,这一篇搞第一个实例。
运行环境是Anaconda-Spyder,Python3.6,win7系统,亲测可运行。代码注释详细,对新手很友好。
第三方包的安装,见第二篇博客,此处不再赘述。
#表示使用utf-8编码格式,可以使用中文
# -*- coding: utf-8 -*-
#本实例必要的包。requests包用于请求网页信息,os包用于调用当前操作系统的命令
import requests
import os
#在本地新建文件夹,命名为cat_img,用以保存下载的图片。具体语句的含义,可看代码猜测,也可百度方法的含义
folder = 'cat_img'
if not os.path.exists(folder):
os.makedirs(folder)
#新建一个函数,命名为download,作用是从网页中图片对应的代码,将图片下载到本地,下载路径为上面的folder文件夹中
def download(url):
response = requests.get(url, headers = header)
name = url.split('/')[-1]
f = open( folder + '/' + name + '.jpg', 'wb')
f.write(response.content)
f.close()
return True
#网页的基本信息,包含网址url,和请求头header。这里的cat_url就是图片对应的网址,header的作用是防止反爬机制
cat_url = 'http://placekitten.com/450/1000'
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
#执行图片下载函数download,下载图片
download(cat_url)
print('OK')
#运行完毕之后,可以查看本地,一张猫的图片已经下载到了//cat_img这个文件夹下
本例子十分简单,下载的图片只有一张。实际工作中,爬虫肯定不止这么简单。
本例涉及到的知识点:
1、requests包的基本使用,爬虫请求网页的方法;
2、新建函数的方法,以及下载图片的函数的写法;
3、用os包在本地电脑新建一个文件夹的方法;
4、headers请求头,网址url的定义