Python collecte des données d'images de beauté par lots ~ Cela ne doit pas être regardé

avant-propos

Bonjour! Bonjour à tous, c'est le roi démon ~
insérez la description de l'image ici

"""
Site cible :
Contenu : Image
"""
insérez la description de l'image ici

# 分金定穴 --- 分析网站
# 数据加载:
#    静态加载
#    动态加载 json
#  -关键字
#  -页码
import json
import urllib.parse
import requests  # 网络请求库   pip
import jsonpath  # json数据解析库

import threading

#设置最大线程锁
thread_lock = threading.BoundedSemaphore(value=20)



# 1. 通过url获取json数据


def get_page(url):
    resp = requests.get(url)
    page = resp.content.decode('utf-8')  # 防止乱码

    return page



def pages_from_duitang(kw):
    base_url = ''
    pages = []
    label = urllib.parse.quote(kw)
    for index in range(0,3600,24):  # 0 24 48 72 96
        url = base_url.format(label,index)
        page = get_page(url)
        pages.append(page)

    return pages



# 2. 获取json数据所有的图片链接

def findall_url(page):
    # 类型转换
    html = json.loads(page)
    photos = jsonpath.jsonpath(html, "$..path")

    return photos


def pic_url_from_pages(pages):
    pic_url = []

    for page in pages:
        photos = findall_url(page)
        pic_url.extend(photos)

    return  pic_url


# 3. 保存图片
def pic_download(url, n):
    r = requests.get(url)
    path = r'C:\Users\1234\Desktop\新建文件夹\%s.jpg' % n
    with open(path, 'wb') as f:
        f.write(r.content)

    # 下载完了   解锁
    thread_lock.release()



pages = pages_from_duitang('美女')
pic_url = pic_url_from_pages(pages)

n = 0
for i in pic_url:
    # pic_download(i, n)
    n += 1
    print('正在下载第{}张图片'.format(n))
    # 上锁
    thread_lock.acquire()

    t = threading.Thread(target=pic_download,args=(i,n))
    t.start()

insérez la description de l'image ici
insérez la description de l'image ici

épilogue

Eh bien, mon article se termine ici !

Si vous avez d'autres suggestions ou questions, n'hésitez pas à commenter ou à m'envoyer un message privé ! Travaillons dur ensemble (ง •_•)ง

Suivez le blogueur si vous l'aimez, ou likez et commentez mon article ! ! !

insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/python56123/article/details/124066016
conseillé
Classement