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: