Python 爬虫实战:从 RUC 官网抓取所有图片
本教程将使用 Python 的 requests 和 BeautifulSoup 库编写爬虫,从中国人民大学官网 (www.ruc.edu.cn) 抓取所有图片并保存到本地文件夹。
由于该网页包含了很多图片,我们可以使用 BeautifulSoup 库来解析网页,并使用 requests 库来获取网页内容。
以下是代码实现:
import requests
from bs4 import BeautifulSoup
import os
url = 'https://www.ruc.edu.cn/'
# 获取网页内容
response = requests.get(url)
html = response.text
# 解析网页
soup = BeautifulSoup(html, 'html.parser')
imgs = soup.find_all('img')
# 创建文件夹保存图片
if not os.path.exists('images'):
os.mkdir('images')
# 下载图片
for img in imgs:
img_url = img.get('src')
if img_url.startswith('http'):
img_name = img_url.split('/')[-1]
else:
img_name = img_url
img_url = url + img_url
img_path = os.path.join('images', img_name)
with open(img_path, 'wb') as f:
f.write(requests.get(img_url).content)
print('下载图片:', img_name)
解释一下代码:
首先,我们定义了一个 url 变量,表示我们要爬取的网页。然后,使用 requests 库获取网页内容,并使用 BeautifulSoup 库解析网页。
接着,我们使用 find_all() 方法查找所有的 img 标签,并遍历每个 img 标签,获取图片的链接 (src 属性)。由于有些图片链接是相对路径,我们需要加上网页的域名来构造完整的图片链接。然后,我们根据图片链接的最后一部分来构造图片的文件名,并创建一个 images 文件夹来保存图片。
最后,我们使用 requests 库下载图片,并将图片保存到 images 文件夹中。在下载图片时,我们使用了 with 语句来打开文件,并使用 write() 方法将图片内容写入文件中。下载完成后,我们打印一条消息,表示该图片已经下载完毕。
运行以上代码后,我们就可以在当前目录下看到一个名为 images 的文件夹,里面包含了所有在该网页中找到的图片。
原文地址: https://www.cveoy.top/t/topic/noRm 著作权归作者所有。请勿转载和采集!