python爬虫 妹子图 新人福利!! - Go语言中文社区

python爬虫 妹子图 新人福利!!


首先说明,我也是初学者,代码中有什么不足还请见谅(不过目前运行下,没发现什么问题)。
然后看知乎上不少人都是那妹子图作为新人练手的项目,那我也写一个妹子图的爬虫吧。这里放出来,给新人们参考参考,一起学习!
不说废话了,直接上代码:

import re
import requests
import os
import time
##创建目录文件夹
def mkdir(path):
    path=path.strip()
    path=path.rstrip("\")
    isExists=os.path.exists(path)
    if not isExists:
        os.makedirs(path)
        print('目录文件夹创建成功!')
        return True
    else:
        print('目录已存在,无需再创建!')
        return False

##下载保存图片
def down_load(url_list,name):
    if '.' in name :
        name=name.replace('.',' ')
    i=1
    mkpath="D:\妹子图\"+name
    mkdir(mkpath)
    file_name = mkpath + '\'
    for url in url_list:
        response = requests.get("网站链接(隐藏)"+url)
        with open(file_name + name+str(i) + '.jpg',"wb") as f:
            f.write(response.content)
            i=i+1
            print("正在下载:",name,'n',url)



##从子页面获取图片链接
def jpg_url (url):
    try:
        response = requests.get("网站链接(隐藏)" + url)
        name=re.findall(' <title>(.*?)</title>',response.text,re.S)[0]
        url =re.findall('<img alt="" src="(.*?)"',response.text,re.S)
        return url, name
    except Exception as e:
        print(e)



##获取子页面链接
def meizi_url(url):
    try:
        response = requests.get(url,headers=headers)
        url_list2= re.findall('<a href="(/dtl.*?)"',response.text,re.S)
        list_2=(set(url_list2))
        for url in list_2:
            yield url
    except Exception as e:
        print(e)



##批量下载
if __name__ == '__main__':
    print('hello,妹子图会下载到 D:\妹子图 哦!')
    for n in range(1,18):
        try:
            
            headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'}
            meizi="网站链接(隐藏)/PicList/?typeid=6&pageindex="+str(n)
            meizi_list = meizi_url (meizi)
            for m_url in meizi_list:
                url_list,name = jpg_url (m_url)
                down_load(url_list,name)
                time.sleep(3)
        except Exception as e:
            print(e)
print('下载完成!')
input('图片已储存到D:\妹子图,请理性观赏,身体为重!')

网站链接我隐藏掉了,毕竟不是什么正经网站。
还有一个升级版本的,连同打包的exe文件一起放云盘了,需要的可以下载。
链接:https://pan.baidu.com/s/1zqx24ybf-gb3wsgeU8sHXQ
提取码:rmrr
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44363828/article/details/90703354
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 17:40:49
  • 阅读 ( 1593 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢