爬虫学习:爬取一个网站的风景图片

用Python爬取一个网站图片

先看看主页的规律

这是他的地址:https://pic.netbian.com/4kfengjing/

它有200多页

第3页的地址

第4页的地址

发现规律!

第i页的地址为:https://pic.netbian.com/4kfengjing/index_i.html

再看看图片的规律

F12按一下看看

按照箭头顺序进行元素审查看看

点进跳转页面看看

可以发现,跳转页面的url规律,是主页https://pic.netbian.com/拼接上刚刚找到的那个href

对跳转页面进行元素审查

注意

直接上代码

# -*- coding: utf-8 -*-
"""
Created on Thu Jul  1 11:40:22 2021

@author: koneko
"""

import requests
from bs4 import BeautifulSoup



#主页地址
home = 'https://pic.netbian.com'
headers={'User-Agent':'ozilla/5.0 (Windows NT10.0; WOW64\
          AppleWebKit/537.36 (KHTML, like Gecko) \
          Chrome/70.0.3538.25 Safari/537.36 \
          Core/1.70.3870.400 QQBrowser/10.8.4405.400'}



n = 0  #下载的图片的序号
k = 2  #从第二页开始爬起
while k < 100:  #爬取100个页面的照片
    #获取主页面
    url = 'https://pic.netbian.com/4kfengjing/index_'+str(k)+'.html'
    response = requests.get(url, headers = headers)
    response.encoding = 'gb18030'
    soup = BeautifulSoup(response.text,'html.parser')
    index_page = requests.get(url, headers = headers)
    index_page.encoding = 'gb18030'
    soup = BeautifulSoup(index_page.text,'html.parser')
    #获取页面中 class="clearfix" 的ul板块,缩略图都在里面
    clearfix = soup.find("ul", class_ = "clearfix")
    #找到每一张图片的链接所在的<a>
    a_list = clearfix.find_all('a')
    #处理处最后一张的所有缩略图
    for i in range(len(a_list)-1):
        #拼接得到图片大图跳转页面的url
        newurl = home+a_list[i]['href']
        r = requests.get(newurl)
        newpage = BeautifulSoup(r.text, 'html.parser')
        #获取图片所在板块
        photo_pic = newpage.find(id="img")
        #获取图片下载链接
        pic_url = home+photo_pic.find('img')['src']
        #下载图片
        pic = requests.get(pic_url)
        #图片保存的路径
        save_path = r'E:\爬虫图片\\'+str(n)+'.jpg'
        print('正在保存第'+str(n)+'张图片...')
        #以二进制写的形式打开
        f = open(save_path,'wb')
        f.write(pic.content)
        n += 1
    k += 1

最后效果


posted @ 2021-07-01 13:13  裏表異体  阅读(355)  评论(0编辑  收藏  举报