鱼C论坛

 找回密码
 立即注册

[作品展示] 爬取妹子图 三部曲

  [复制链接]
发表于 2020-2-28 23:50:52 | 显示全部楼层
感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-29 00:21:20 | 显示全部楼层
让我康康
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 00:23:47 | 显示全部楼层
这是用什么软件运行的啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 00:39:02 | 显示全部楼层
谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 03:03:34 | 显示全部楼层
KANKAN
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 08:56:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-29 10:13:28 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-29 10:20:15 | 显示全部楼层
咳咳咳~我来试验以下真假
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 10:22:46 | 显示全部楼层
看一看瞧一瞧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 10:26:15 | 显示全部楼层
咖喱鸡块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 11:31:49 | 显示全部楼层
优秀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-29 12:11:05 | 显示全部楼层
网警路过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 14:39:41 | 显示全部楼层
66666,眼睛都看花了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 14:48:20 | 显示全部楼层
主要是想看第三步的车
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 15:02:41 | 显示全部楼层
我来审核
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 15:26:19 | 显示全部楼层
#creator:qs
#description:download picture from https://www.mzitu.com/
#structure:download---year---month---file---picture
#date:2020.2.28
#Need:延时自动切换
#借鉴了楼主!没写注释!有点bug!但能用!

import requests as r
from bs4 import BeautifulSoup as bs
import easygui as g
import lxml
import os
import time as t

def get_soup(url):
    #   url------html------soup
    headers ={'Referer':'https://www.mzitu.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36'}
    response = r.get(url,headers=headers)
    html = response.text
    soup = bs(html,"lxml")

    return soup

def get_pic(url):
    #   url------pic
    headers ={'Referer':'https://www.mzitu.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36'}
    response = r.get(url,headers=headers)
    pic = response.content

    return pic

def init_file(file,soup):
    #   soup----year-month-file in download_file

    year_names = soup.find_all(class_="year")
    year_len=len(year_names)
    years = soup.find_all(class_="archives")
   
    for i in range(year_len):
        year_name = year_names[i].text
        os.mkdir(file+"\\"+year_name)
        year = years[i]

        month_complex = year.find_all("li")
        month_len=len(month_complex)

        for j in range(month_len):
            month_name = month_complex[j].p.em.text
            month_text = month_complex[j].p.text[6:-2]
            
            os.mkdir(file+"\\"+year_name+"\\"+month_name)
            
            month = month_complex[j].contents[1]
            
            file_addresses=year_name+"\t"+month_name+"\t"+month_text

            file_complex = month.find_all("a")
            file_len = len(file_complex)
            for k in range(file_len):
                file_name = file_complex[k].text
                file_address = file+"\\"+year_name+"\\"+month_name+"\\"+file_name
                os.mkdir(file_address)
                file_href = file_complex[k]["href"]

                file_addresses += "\n"+str(k+1)+"\t"+file_href
               
                download_pics(file_address,file_href,file_name)
                t.sleep(3)
            file_addresses_txt = open(file+"\\"+year_name+"\\"+month_name+"\\"+month_name+".txt","w")
            file_addresses_txt.write(file_addresses)
            file_addresses_txt.close()


def download_pics(file_address,file_href,file_name):
    """
    file_href-----pic_first_url---pages------pics in file_addresses
    """
    soup = get_soup(file_href)

    pic_first_url = soup.find(class_="main-image").p.a.img["src"]
    page_num = int(soup.find(class_="pagenavi").find_all("a")[-2].text)
    addresses=file_name+"\t"+str(page_num)+"张"

    print(addresses)#testing

    for i in range(page_num):
        pic_url = get_pic_url(pic_first_url,i+1)
        addresses += "\n"+str(i+1)+"\t"+pic_url
        pic = get_pic(pic_url)
        pic_address = file_address +"\\"+str(i+1)+pic_first_url[-4:]
        
        pic_file = open(pic_address,"wb")
        pic_file.write(pic)
        pic_file.close()

        del pic,pic_url,pic_address

    file_save_address=file_address+"\\"+file_name+".txt"
    addresses_txt = open(file_save_address,"w")
    addresses_txt.write(addresses)
    addresses_txt.close()

    del soup,pic_fir
    st_url,page_num,addresses,file_save_address

def get_pic_url(pic_first_url,i):
    #pic_first_url----------pic_i_url<>

    if i <= 9:
        pic_url = pic_first_url[:-5]+str(i)+pic_first_url[-4:]
        return pic_url
    elif i >= 10 and i <= 99:
        pic_url = pic_first_url[:-6]+str(i)+pic_first_url[-4:]
        return pic_url
    else:
        pic_url = pic_first_url[:-6]+str(i)+pic_first_url[-4:]
        return pic_url


urls = ["https://www.mzitu.com/all/","https://`1`ghjl:www.mzitu.com/old/"]
file = g.diropenbox("选择储藏物质")
files = [file+'\\download_new',file+'\\download_old']



for i in range(len(files)):
    soup = get_soup(urls[i])
    os.mkdir(files[i])
    init_file(files[i],soup)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-29 15:38:12 | 显示全部楼层
: 爬取妹子图 三部曲 [修改]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 16:17:53 | 显示全部楼层
play98 发表于 2020-2-28 12:37
干哈呢 干哈呢! 岛国网址?

说啥呢 大家都是正经司机
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 16:18:25 | 显示全部楼层
ckypamym 发表于 2020-2-29 00:23
这是用什么软件运行的啊

python我用的vscode 自带的软件就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 16:19:49 | 显示全部楼层
qs2000 发表于 2020-2-29 15:26
#creator:qs
#description:download picture from https://www.mzitu.com/
#structure:download---year-- ...

谢谢大佬指点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 11:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表