一、爬虫介绍
1、爬虫定义
网络爬虫:
又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取网络信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
通俗理解:
简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来. 就像一只虫子在一幢楼里不知疲倦地爬来爬去.
百度:
其实就是利用了这种爬虫技术, 每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。
有了这样的特性, 对于一些自己公司数据量不足的小公司, 这个时候还想做数据分析就可以通过爬虫获取同行业的数据然后进行分析, 进而指导公司的策略指定。
2、爬虫的基本步骤
基本步骤:
- 起始URL地址
- 发出请求获取响应数据
- 对响应数据解析
- 数据入库
3、requests模块
Python requests 是一个常用的HTTP请求库,可以方便的向网站发送HTTP请求,并获取响应结果。
import requests
x = requests.get('http://127.0.0.1:9000/')
# 返回网页的内容,比如html中内容
print(x.text)
# 获取响应状态码
print(x.status_code)
# 获取响应头
print(x.headers)
# 获取响应内容
print(x.content)
快速入门(request三步走)
get() 方法获取网页数据
# 导入模块
import requests
# 通过requests.get()发送请求
# data保存返回的响应数据(这里的data不是单纯的html,需要通过content获取html代码)
data = requests.get('http://www.baidu.com')
#通过data.content获取html代码
data = data.content.decode('utf-8')
二、爬取照片
我们知道这里是html中的请求链接,如果获取这些链接,那么通过爬虫就可以访问这些链接并获取照片
1、爬取照片的步骤:
- 获取index.html代码(通过requests.get(url)获取)
- 解析index.html代码获取图片url(分割、遍历、正则匹配)
- 通过url获取图片
2、获取index.html代码
# 通过爬虫向index.html发送请求
# requests.get(网址): 向一个网址发送请求,和在浏览器中输入网址是一样的
data = requests.get("http://127.0.0.1:8000/index.html")
# content可以把requests.get()获取的返回值中的html内容获取到
data = data.content.decode("utf-8")
3、解析index.html代码获取图片url
# 获取图片的请求url
def get_pic_url():
# 通过爬虫向index.html发送请求
# requests.get(网址): 向一个网址发送请求,和在浏览器中输入网址是一样的
data = requests.get("http://127.0.0.1:8000/index.html")
# content可以把requests.get()获取的返回值中的html内容获取到
data = data.content.decode("utf-8")
# html每一行都有"\n", 对html进行分割获得一个列表
data = data.split("\n")
# 创建一个列表存储所有图片的url地址(也就是图片网址)
url_list = []
for url in data:
# 通过