Python网络爬虫——爬取网站图片

Python网络爬虫——爬取网站图片

  • 学习前提
  • 一、 引入python第三方库
  • 二、请求、解析页面并且下载图片到指定路径


学习前提

1、熟悉python基础语法
2、会引用python第三方库

以下是本篇文章正文内容,下面案例可供参考

一、 引入python第三方库

引入库:

import requests
import re
from bs4 import BeautifulSoup

上述模块是python爬虫的基本库,各模块的用法在“Python网络爬虫——爬取网站视频”里讲过。

二、请求、解析页面并且下载图片到指定路径

代码如下:

def CatchImages(img):
    url = "https://bizhi.ijinshan.com/2/index_" + str(img) + ".shtml"  # 一级页面
    r = requests.get(url, headers=header)
    r.encoding = "utf-8"  # 字符编码
    html1 = r.text

    """解析网页"""
    soup = BeautifulSoup(html1, "html.parser")
    urls = soup.find("div", class_="wallpaper-wrapper").find_all("a",
                                                                 class_="wallpaper-item-mask page-behaviour")  # 查找元素
    print(urls)
    for u in urls:
        ImageUrls = re.findall(
            r'(https://wallpaperm.cmcm.com/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)',
            str(u))
        # print(u.get("href"))  # 获取a标签
        r = requests.get(ImageUrls[0], headers=header)
        file_name = ImageUrls[0].split('/')[-1]
        with open(file_name, 'wb') as f:
            f.write(r.content)


for i in range(2, 5):
    CatchImages(i)

本案例中,我下载的是元气桌面上的壁纸,可以多页面下载。

请求头在之前的文章里讲过,代码注释也写的比较全面,仅供参考。

你可能感兴趣的:(python,python,html,css,爬虫,后端)