Python爬虫实战详解:爬取图片之家

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

如何使用python去实现一个爬虫?

  • 模拟浏览器
    请求并获取网站数据
    在原始数据中提取我们想要的数据 数据筛选
    将筛选完成的数据做保存

完成一个爬虫需要哪些工具

  • Python3.6
  • pycharm 专业版

目标网站

图片之家

https://www.tupianzj.com/

 

爬虫代码

导入工具

python 自带的标准库

import ssl

 

系统库 自动创建保存文件夹

import os

 

下载包

import urllib.request

 

网络库 第三方包

import requests

 

网页选择器

from bs4 import BeautifulSoup

 

默认请求https网站不需要证书认证

ssl._create_default_https_context = ssl._create_unverified_context

 

模拟浏览器

headers = {
    'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
}

 

自动创建文件夹

if not os.path.exists('./插画素材/'):
    os.mkdir('./插画素材/')
else:
    pass

 

请求操作

url = '//www.tupianzj.com/meinv/mm/meizitu/'
html = requests.get(url, headers=headers).text

 

对页面原始数据做数据提取

soup = BeautifulSoup(html, 'lxml')
images_data = soup.find('ul', class_='d1 ico3').find_all_next('li')
for image in images_data:
    image_url = image.find_all('img')
    for _ in image_url:
        print(_['src'], _['alt'])

 

下载

try:
    urllib.request.urlretrieve(_['src'], './插画素材/' + _['alt'] + '.jpg')
except:
    pass

 

效果图

 

 

 

Tags: