温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用python来爬取妹子图

发布时间:2021-10-11 17:44:45 阅读:175 作者:柒染 栏目:大数据
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇文章给大家分享的是有关如何用python来爬取妹子图,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

我之前都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西。那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!!一定要学会!!!我现在的爬虫基本都是用这两样东西来爬的。所以学不学你看着办吧。

来到今天的重点,我今天发现一个网站很好爬的,非常适合新手,我没有设置请求头什么的爬了很多遍很没有封我ip和给我返回403之类的,所以他对我们第一次玩爬虫的人来说很友好。这个网站就是今日头条。最重要的是这里面有很多美女图片,我们可以把它们爬下来!!!是不是想想都要流鼻血啊?

我们今天要爬的就是他的图集,先看看网站。搜索美女,然后点击图集,可以看到下面这些内容如何用python来爬取妹子图

我们要做的就是把上面的图片给爬下来。

那开始分析网站。按下f12,然后点击network,刷新下你可以看到这些如何用python来爬取妹子图

进行寻找哪个请求返回这些图片的,在网页上可以看到图片会随着你下拉网页而进行显示更多的图片,这是动态加载的,所以可以轻松知道这个可以在xhr文件中找到,果然,你看如何用python来爬取妹子图

不断往下拉,不断地发送请求,点击这个请求看看是返回什么数据如何用python来爬取妹子图

可以看到这是个json,里面有图片的url,这个就是我们要找的东西,那我们可以用json库来解析,还有这个网站是get请求,这样就可以用requests库来发送然后解析下就可以了,非常简单。

那么分析就到这里,直接上代码

import requests, ospath_a = os.path.abspath('.')kw = ''while True:    kw = input('请输入你要获取的图片(若想结束请输入1)')    if kw == '1':        print('已退出,你下载的图片已保存在'+path_a+',请查看!')        break    for x in range(0, 1000, 20):        url = 'https://www.toutiao.com/search_content/?offset='+str(x)+'&format=json&keyword=%s&autoload=true&count=20&cur_tab=3&from=gallery' % kw        response = requests.get(url)        data = response.json()['data']        if not data:            print('下载'+kw+'图片完毕,请换个关键词继续')            break        n = 1  # 记录文章数        for atlas in data:            # 创建目录            title = atlas['title']            print(atlas)            try:                if title not in os.listdir('.'):  # 防止文件名已经存在                    os.mkdir(title)            except OSError as e:                print('文件名出错,创建目录失败,重新创建一个随机名字')                title = kw + '文件名出错'+str(x)                if title not in os.listdir('.'):                    os.mkdir(title)            k = 1  # 记录下载的图片数            path = os.path.join(path_a, title)            # 转进图片目录            os.chdir(path)            for image in atlas['image_list']:  # 这个链接获取的图片是小张的,看着不够爽,所以下面替换成大的图片                image_url = image['url'].replace('list', 'large')  # 改个链接获取大的图片                atlas = requests.get('http:'+image_url).content                with open(str(k)+'.jpg', 'wb') as f:  # 把图片写入文件内                    f.write(atlas)                print('下载完第%d个文章的%d幅图完成' % (x+n, k))                k += 1            n += 1            # 转出图片目录            os.chdir(path_a)

这个只用了requests库基本就能完成了,os库是用来操作文件目录的,这里就不详细说了。可以看到,代码量非常少,除开注释就大概四十行吧,是不是比其他语言简洁多了?是不是requests库很好用?这里可以充分体现了人生苦短,我用python的真理。

而且,他还可换关键字继续搜,你想搜什么照片都可以。

最后给你们看下结果如何用python来爬取妹子图

不说那么多了,我要去买营养快线了。

以上就是如何用python来爬取妹子图,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/3936891/blog/4407812

AI

开发者交流群×