初学python,刚好看到爬取妹纸图片的教学视频,于是跟着学习学习python网络爬虫,使用python爬取图片。

进入主页,可以看到妹子自拍,一共446页之多 0.0 ,如下图所示:

查看网页url可以发现comment-page-xxx,其中xxx就是页码,表示当前是第几页。

按下F12查看源网页,鼠标移动到 <img  class="lazy"字样上,图片会显示成阴影样式。

不难看出之后跟着的src=后的url和data-original=后的url就是我们要爬取的图片了。复制url用网页打开,果然就是图片链接,如图:

而python中可以利用lxml中的etree进行html解析,快速定位到图片url,将爬取的图片根据页码和张数命名保存只本地即可。

目的明确后就是写代码了,但是直接使用python中的requests访问网页是无法访问的,因为一些网站都会做一些反爬机制。以妹子图网站来说,请求网页至少需要携带两个参数,一个是用户代理User-Agent( 一些网站常常通过判断 User-Agent 来给不同的操作系统、不同的浏览器发送不同的页面,如果请求时不加这个参数,可能无法请求。),其次是防盗链referer。必需要将这两个参数加在请求头中才能正常的请求到数据。而要获取这两个参数值,则需要在Network中的 Headers中查看,如图:

更换不同页面,发现referer的值与网页url的值是一致的,而user-agent是不变的。

测试环境:Win10    JetBrains PyCharm 2019.2.2 x64(需要提前使用pip/pip3命令安装好lxml和requests包)

参考代码如下所示:

import requests
from lxml import etreefor i in range(446):url = "https://www.mzitu.com/zipai/comment-page-{}/".format(i);print(url)heads = {"user-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"}heads.update(referer=url)response = requests.get(url + "#comments", headers = heads)html = etree.HTML(response.text)
#   alt_list = html.xpath('//img[@class="lazy"]/@alt')src_list = html.xpath('//img[@class="lazy"]/@data-original')j = 0for src in src_list:j = j + 1content = requests.get(src, headers=heads).contentfilename = "photos\\{}_{}.jpg".format(i,j)print("正在保存图片文件:{}".format(filename))with open(filename, "wb") as f:f.write(content)

图片爬取结果:

教程仅供学习交流,若有侵权请联系删除~

python爬取妹纸图片相关推荐

  1. python爬取贴吧图片_Python爬取贴吧多页图片

    Python爬取贴吧图片都只能爬取第一页的,加了循环也不行,现在可以了. #coding:utf-8 import urllib import urllib2 import re import os ...

  2. Python爬取自然风景图片代码

    Python爬取自然风景图片代码 \qquad 需要用到python的etree库和requests库,需要提前下载安装. from lxml import etree import requests ...

  3. python爬取网站的图片

    python爬取网站的图片 本次爬取图片所需要用到的库:Requests库,BeautifulSoup库,正则表达式,os库. 思路:先爬一张图片,再爬一个网站的图片 先爬一张图片: 首先要得到这张图 ...

  4. python爬取网站源代码+图片

    python爬取网站源代码+图片 需求分析 基础知识 正则表达式 python网络请求 文件读写 实现 基本思路 具体实现 结果 总结 需求分析 大部分有志青年都想建立属于自己的个人网站,从零开始设计 ...

  5. python 爬取5566图库图片

    python 爬取5566图库图片 1 import requests 2 import random 3 import re 4 import time 5 import os 6 from bs4 ...

  6. python爬取动态网页图片

    爬取某知名网站图片(爬取动态网页) python爬取动态网页图片 python爬取动态网页图片 环境: python3.pycharm 库: requests.urllib.json 思路: 1.分析 ...

  7. python爬取明星百度图片并存入本地文件夹

    python爬取明星百度图片并存入本地文件夹 想要一个明星图片的时候,发现图片量过大,一张张保存太累,不太现实 这时候就可以用到爬虫,批量爬取图片 现在又出现一个问题,当发现一个明星爬完后,再爬取下一 ...

  8. Python爬取百度壁纸图片

    Python爬取百度壁纸图片 #! /usr/bin/python -- coding: utf-8 -- @Author : declan @Time : 2020/05/31 16:29 @Fil ...

  9. Python爬取小姐姐图片

    使用Python爬取小姐姐图片 首先上网站链接 唯美女生 爬取图片主要分为一下几步: 1.打开一个你喜欢的小姐姐的网站 E.g xiaojiejie web 2.下载并安装python环境 pytho ...

最新文章

  1. Linux管道的原子性,管道机制
  2. C语言中长度为0的数组
  3. 如何利用pycharm实现本地代码和远程的实时同步
  4. 四十二、开始Vuex的学习:如何在Vue中使用Vuex
  5. .net core 与ELK(2)安装Elasticsearch可视化工具
  6. python中难的算法_Python算法很难吗?python神书《算法图解》PDF电子版分享给你
  7. zabbix 启动报cannot connect to Service Manager: [0x00000005]解决方法
  8. Android屏幕旋转时Activity不重新调用onCreate的方法
  9. 计算机网络故障检测,计算机网络故障常用诊断工具你会多少
  10. 第二天:继续完善路由层(router)及数据层(controller)
  11. 2016年1月19日 video.js修改视频源后再调用
  12. Python 爬虫超详细讲解(零基础入门,老年人都看的懂)
  13. 新唐 Nuvoton ML51PC 入门 点亮板载LED
  14. 标签设计打印软件:LabelJoy 6.23.0 Crack
  15. C++项目之演讲比赛模拟
  16. Postman+Newman:自定义测试报告展示内容
  17. php buildtrees,thinkphp5带分组功能的树形结构的无限级分类节点展示
  18. 《算法竞赛进阶指南》tarjan做法 银河
  19. 有关 Java Long 型数据的比较
  20. 冯杰的手写艺术签名怎么写好看

热门文章

  1. C语言中文件的打开与保存
  2. 【数据分析中的常用模型】篇1:人货场模型:如何开好一家便利店
  3. Quasar 安装步骤
  4. 移动端h5页面拍照上传图片的时候图片旋转问题
  5. 微信小程序如何与数据库交互?
  6. c盘appdata怎么清理?appdata可以移动么
  7. vue 实现pc端调取本地摄像头拍照生成base64数据 navigator.userAgent 功能
  8. 无人超市对社会是福还是祸?
  9. C语言判断三条边能否构成三角形
  10. 【调剂】湖南工商大学2022年硕士研究生招生复试分数线及调剂公告