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

来到今天的重点,我今天发现一个网站很好爬的,非常适合新手,我没有设置请求头什么的爬了很多遍很没有封我ip和给我返回403之类的,所以他对我们第一次玩爬虫的人来说很友好。这个网站就是今日头条。

这里我给大家整理了一套Python学习视频和爬虫项目实战,大家都可以领取学习!领取方式请到文末。

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

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

那开始分析网站。按下f12,然后点击network,刷新下你可以看到这些

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

不断往下拉,不断地发送请求,点击这个请求看看是返回什么数据

可以看到这是个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 爬虫项目实战

python基础语法讲解

python之mysql教程

人工智能+Python基础班

获取方式:

关注微信公众号:大数据技术汇

关注后在公众平台上回复"Python"。(注意是公众平台回复)

如果大家觉得有用,可以转发分享给更多的朋友!

python画美女代码_教你用python爬取网站美女图(附代码及教程)相关推荐

  1. python画花女朋友_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  2. 如何用python画一朵花_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  3. 怎么样用python画一朵花_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  4. python画简单圣诞树_教你用Python画了一棵圣诞树!圣诞节给女朋友制作个小惊喜...

    如何用Python画一个圣诞树呢? 最简单: height = 5 stars = 1 for i in range(height): print((' ' * (height - i)) + ('* ...

  5. Python爬虫:Xpath爬取网页信息(附代码)

    Python爬虫:Xpath爬取网页信息(附代码) 上一次分享了使用Python简单爬取网页信息的方法.但是仅仅对于单一网页的信息爬取一般无法满足我们的数据需求.对于一般的数据需求,我们通常需要从一个 ...

  6. 【python--爬虫】爬取网站美女照片

    爬取网站美女照片 # -*- coding: utf-8 -*-import requests from bs4 import BeautifulSoup import os import rando ...

  7. python画动态爱心代码_教你用python画动态爱心表白

    原标题:教你用python画动态爱心表白 初级画心 学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆: 于是这就很简单了,十行代码解决: import tu ...

  8. python爬取网站美女图(附代码及教程)爬虫爬取海量手机壁纸,电脑壁纸,美女图片,风景图片等

    想要练习爬虫的兄弟们,可以看看这个 如果大神们看到有哪里可以改进的地方,请告诉小弟,我是个纯纯新手,练习了几次爬虫 以前一直用的BeautifulSoup,一直没有接触过正则表达式 正则表达式是一个非 ...

  9. Python脚本爬取网站美女照片

    上次无意之中看到一个网站,里面全是美女的照片,我就心想,哪天有时间了得把这网站的所有美女照片都得爬下来.今天有时间,写了点代码,爬去了网站的所有照片.附上战果!图片实在是太多了,爬半个多小时 先附上所 ...

  10. python爬取网站美女图片

    今天周五,项目刚刚上线完,有些时间,闲着无聊,继续复习爬虫,这次打算爬取网站的美女图片.得先找到目标,然后目标网站还不会反爬虫,因为自己只是小白,好了开始. 寻找目标,发现了目标,哈哈 http:// ...

最新文章

  1. response.getWriter()和jsp中out对象的区别
  2. ruby语法_Ruby函数(方法)语法
  3. 利用bladex+avue实现一对多的关系
  4. 【英语学习】【Level 07】U04 Rest and Relaxation L1 Waiting to board a train
  5. java程序自动重启_java程序自动重启
  6. phpstudy免费安全检测服务_武汉一高校15名大学生暑期进行免费甲醛检测服务? 服务500个家庭...
  7. C语言简明教程--指针5
  8. Hyperledger Fabric教程(3)-- byfn.sh分析-生成通道所需交易和文件
  9. 网络中看不见的五大重要安全隐患
  10. Scala具体解释---------数组、元组、映射
  11. Win10专业版系统Docker安装、配置和使用详细教程
  12. linux查看硬盘命令ls,linux 硬件信息查看命令
  13. Python去除小数点后面多余的0
  14. telnet连接失败的常见错误
  15. 三星打印机SCX-4824HN全套驱动(打印/扫描)
  16. vc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 ‘context:property-placeholder‘ 的声明。
  17. Vue学习--子组件向父组件传值
  18. 建筑施工技术【21】
  19. (40)Verilog实现序列10111【状态机三段式】
  20. 计算机毕业设计ssm成都驰聘健身俱乐部管理系统so4b3系统+程序+源码+lw+远程部署

热门文章

  1. C#和Unity编码和游戏开发学习教程
  2. Linux进程描述符task_struct结构体简析
  3. linux Mysql 安装
  4. 15-11-23:system指令
  5. [JavaWeb基础] 007.Struts2的配置和简单使用
  6. 5个在线调试代码的网站
  7. IE6、IE7、IE8的CSS、JS兼容
  8. NIO - Scatter/Gather
  9. C# Idioms: Enum还是Enum Class(枚举类)
  10. C#在客户端和服务端操作Excel文件