一、爬虫
1. 什么是爬虫
网络爬虫:
又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取网络信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫.
通俗理解:
简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来. 就像一只虫子在一幢楼里不知疲倦地爬来爬去.
你可以简单地想象
: 每个爬虫都是你的「分身」。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样
百度:
其实就是利用了这种爬虫技术, 每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索.
有了这样的特性, 对于一些自己公司数据量不足的小公司, 这个时候还想做数据分析就可以通过爬虫获取同行业的数据然后进行分析, 进而指导公司的策略指定.
2. 爬虫的基本步骤
-
基本步骤:
1.起始URL地址
2.发出请求获取响应数据
3.对响应数据解析
4.数据入库
-
需要的模块
- requests : 可以模拟浏览器的请求
- 官方文档 :http://cn.python-requests.org/zh_CN/latest/
- 安装 :pip3 install requests
-
代码尝鲜
# 导入模块
import requests
# 通过requests.get()发送请求
# data保存返回的响应数据(这里的响应数据不是单纯的html,需要通过content获取html代码)
data = requests.get("http://www.baidu.com")
# 通过data.content获取html代码
data = data.content.decode("utf8")
3. 总结
-
requests模块:
# 导入模块
import requests
# 通过requests.get()发送请求
# data保存返回的响应数据(这里的响应数据不是单纯的html,需要通过content获取html代码)
data = requests.get("http://www.baidu.com")
# 通过data.content获取html代码
data = data.content.decode("utf8")
二、爬取网页中的奥特曼图片
网页地址:
https://baijiahao.baidu.com/s?id=1729645884108319420&wfr=spider&for=pc
爬取代码:
import requests
import re
# 存储所有的url
url_html = "https://baijiahao.baidu.com/s?id=1729645884108319420&wfr=spider&for=pc"
# 1. 发出一个get方式的请求
# 2. 通过get可以获取网站的响应数据
# 3. 返回的是一个响应对象
# 4. 可以通过content获取具体的html代码的数据
html_data = requests.get(url_html)
# 解码完毕以后可以获取图片资源
html = html_data.content.decode("utf8")
a = re.findall('<img src="(.*?)" width=".*?"', html)
print(a[1:])
# 存储所有图片
num = 0
for i in a[1:]:
ret = requests.get(i)
file_data = ret.content
with open(f"./奥特曼/{num}.jpeg", "wb") as f:
f.write(file_data)
num += 1
注意:需要自己先创建文件夹
结果:
<end>