Python,心情不美丽,爬了一些美图,独自欣赏!

举报
Carl_奕然 发表于 2023/03/13 11:30:25 2023/03/13
【摘要】 网友:何以解忧,唯有爬虫。

1、引言

小屌丝:鱼哥,咋了, 心情不美丽?
小鱼:嗯,
小屌丝:晚上撸串去??
小鱼:不
小屌丝:蹦迪??
小鱼:不
小屌丝:喝酒??
小鱼:不
小屌丝:猎艳??
小鱼:… !!
于是乎~~ 一段代码上来, 某网站的美女图片被下载下来!

2、代码实战

直接上代码

#coding = utf-8
"""
@ auth : carl_DJ
@ time : 2020-7-22
"""

import urllib.request
import os 


def  url_open(url):
    '''打开url'''
    req = urllib.request.Request(url)
    
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')
    response= urllib.request.urlopen(req)
    
    html = response.read()
    return html

def get_page(url):
    '''获取page数'''
    html=url_open(url).decode('utf-8')
    
    
    a = html.find('current-comment-page')+23
    b = html.find(']',a)
    #print(html[a:b])
    return html[a:b]
    
def find_imgs(url):
    '''锁定要爬取的图片'''
    html = url_open(url).decode('utf-8')
    img_addrs=[]
    
    a = html.find('img src=')
    while a!= -1:
        b = html.find('.jpg',a,a+255)
    
        if b != -1:
            #print(html[a+9:b+4])
            img_addrs.append(html[a+9:b+4])
        else:
            b = a+9

        a = html.find('img src=',b)
    return img_addrs
    #for each in img_addrs:
    #    print(each)


def save_imgs(folder,img_addrs):
    '''保存图片'''
    for each in img_addrs:
        print(each)
        filename = each.split('/')[-1]
        with open(filename,'wb') as f:
            img = url_open('http:'+each)
            f.write(img)


def download_mm(folder='mm',pages=10):
    '''下载到指定路径'''
    os.mkdir(folder)
    os.chdir(folder)

    url = 'http://jandan.net/ooxx/'
    page_num = int(get_page(url))
    print(page_num)
    for i in range(pages):
        page_num -= i 
        page_url = url+'page-'+str(page_num)+'#comments'
        print(page_url)
        img_addrs = find_imgs(page_url)
        save_imgs(folder,img_addrs)

        
if __name__=='__main__':
    download_mm()

3、总结


小鱼:只有工作,才能让我不美丽的心情,晴朗起来!
小云:鱼哥,要不是看到你爬取的这些图片,,我差点信了你说的话!!!
小鱼: 你… 相煎何太急~ ~~


我是​小鱼​:

  • CSDN 博客专家;
  • 阿里云 专家博主;
  • 51CTO 博客专家;
  • 51认证讲师;
  • 金牌面试官&面试培训师;

关注我,带你学习更多更有趣的Python知识。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。