本文主要介绍简单的写一个爬取网站图片并将图片下载的python爬虫示例。
首先,python爬虫爬取数据,需要先了解工具包requests以及BeautifulSoup
requests中文文档:http://2.python-requests.org/zh_CN/latest/user/quickstart.html
BeautifulSoup中文文档:https://beautifulsoup.readthedocs.io/zh_CN/latest/
第一步:选择我们的目标网站:https://www.buxiuse.com/?page=2
二、解析该网站,检查网页,我们发现每张图片都是一个标签,其中src属性代表图片地址。
三,新建python文件Demo.py
四、导入用的的三个工具库:requests、BeautifulSoup、urllib
1、安装requests命令:pip install requests
2、安装BeautifulSoup file -> setting -> Project Interpreter
搜索 bs4 (python3 使用bs4)
安装成功即可
3、urllib在安装python3的时候已经默认安装
4、准备工作就绪:
# 导入三个工具包
import requests
from bs4 import BeautifulSoup
import urllib.request
五、声明函数 getImg(),函数内部用于处理逻辑,最后调用函数执行:
1、首先解析网站,获取网站html内容,代码如下:
def getImg():
# 解析网站
url = requests.get("https://www.buxiuse.com/?page=2") # 爬取网站url
#获取网站数据
html = url.text
#打印输出网站数据
print(html)
# 调用函数
getImg()
2、从得到的html内容中找到img标签:以下代码写在上述代码下面
"""
获取BeautifulSoup对象
html 表示被解析的html格式的内容
html.parser表示解析用的解析器
"""
soup = BeautifulSoup(html,"html.parser")
# 获取所有img标签
girl = soup.find_all('img')
# 打印标签
print(girl)
执行效果:
3、继续解析img标签,获取其中的src值,也就是我们最终要爬取的图片地址:
x = 0
# 获取图片路径
for i in girl:
# 获取src路径
src = i.get('src')
print(src)
执行效果:
4、利用urllib下载图片到我们的规定文件夹内:
x = 0
# 获取图片路径
for i in girl:
# 获取src路径
src = i.get('src')
print(src)
# 下载图片 利用urllib
urllib.request.urlretrieve(src,"./image/%s.jpg" % x)
x += 1
print("正在下载第%d张:" % x)
到此,我们一个简单爬取图片的小爬虫就做好了,看下效果:
欢迎大家学习交流!