1. 程式人生 > 實用技巧 >Python爬蟲實戰詳解:爬取圖片之家

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 = 'https://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

效果圖