python3简单爬虫 (爬取各个网站上的图片)_Pycharm + python 爬虫简单爬取网站数据

本文介绍了使用Python3的requests、BeautifulSoup和urllib库创建一个简单爬虫,来抓取并下载指定网站上的图片。首先通过requests获取网页HTML内容,然后用BeautifulSoup解析HTML,找到<img>标签及其src属性(图片URL)。接着遍历所有图片,利用urllib.request.urlretrieve下载图片到本地的image文件夹中。

本文主要介绍简单的写一个爬取网站图片并将图片下载的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

8f2e97d0e8f1df48df8137f74c51703d.png

二、解析该网站,检查网页,我们发现每张图片都是一个

1287904685046411264.htm标签,其中src属性代表图片地址。

e85adadaa3650aa1525c614aa39369af.png

三,新建python文件Demo.py

aa13ebd306e92326137c8f75499b4d67.png

四、导入用的的三个工具库:requests、BeautifulSoup、urllib

1、安装requests命令:pip install requests

2、安装BeautifulSoup   file  -> setting  -> Project Interpreter

1f979eeb50996e68addb8d7730707f54.png

搜索 bs4 (python3 使用bs4)

b8cd62083d5857e07fd036f7da0f2827.png

安装成功即可

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()

bbf330514df27bc7b427f6fcfbdc6242.png

2、从得到的html内容中找到img标签:以下代码写在上述代码下面

"""

获取BeautifulSoup对象

html 表示被解析的html格式的内容

html.parser表示解析用的解析器

"""

soup = BeautifulSoup(html,"html.parser")

# 获取所有img标签

girl = soup.find_all('img')

# 打印标签

print(girl)

执行效果:

898dadb92bfd59b8f8badf0b6e33758e.png

3、继续解析img标签,获取其中的src值,也就是我们最终要爬取的图片地址:

x = 0

# 获取图片路径

for i in girl:

# 获取src路径

src = i.get('src')

print(src)

执行效果:

b03902dace213d39b486fe969f1fb684.png

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)

到此,我们一个简单爬取图片的小爬虫就做好了,看下效果:

3a69994a663672e968c99a776dd38e79.png

欢迎大家学习交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值