1.准备

各位绅士们,你可能会觉得疫情在家无聊,那么现在我们的Python语言可以满足你们的需求。
项目需要的工具
(1)Python3
(2)requests库
requests库可以通过代码pip install requests安装。如果不会用pip,可以参考以下网址i:https://jingyan.baidu.com/article/466506583fec5af549e5f825.html

2. 项目内容

2.1 网页分析

你打开以下网址:https://www.vmgirls.com/

推荐用Google浏览器。打开网址之后。

(1)右键点击检查,然后会出现HTML代码。网页链接再这里的href标签,并且是用.jpeg结尾的。

相信你也可以找链接。找到之后记住这个标签的格式

2.2 代码结构

之前我们已经对网页进行分析,而且锁定了我们想要在网页中提取的信息(图片)所在的位置,那么下一步我们可以用Python写一个简单的代码了。最后我会给出完整代码。
(1) 代码结构设计
我们的代码可以实现,链接得到网页源码、解析源码得到图片、保存图片。
结构如下:

  1. m = Meizi(url, kv)#建立类
  2. m.getHtml()
  3. m.Parase(html)
  4. m.Saveing(urls)
  5. print('succ')

(2)导入库

  1. import requests
  2. import re
  3. import time

(3)获取网页HTML

  1. def getHtml(self):
  2. try:
  3. response = requests.get(self.url,headers=self.kvs,timeout = 30)
  4. response.encoding = response.apparent_encoding
  5. response.raise_for_status
  6. html = response.text
  7. self.Parase(html)
  8. except:
  9. print("ERROR!")

(4)解析HTML

  1. def Parase(self,html):
  2. urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">', html)
  3. print(urls)
  4. self.Saveing(urls)

(5)保存为图片文件

  1. def Saveing(self,urls):
  2. for url in urls:
  3. time.sleep(1)
  4. file_name = url.split('/')[-1]
  5. response = requests.get(url,headers=kv)
  6. with open(file_name,'wb') as f:
  7. f.write(response.content)

3. 结尾(附完整代码)

这个简单项目已经结束了,你可以快速下载图片了。不过要提醒下,如果爬取太频繁,可能会被封锁ip,到时候你就无法访问这个网站了,所以建议要适当爬取,不能给网站索取太多,这样对双方都好。
代码如下:

  1. import requests
  2. import re
  3. import time
  4. class Meizi:
  5. def __init__(self,urls,kv):
  6. self.url = urls
  7. self.kvs = kv
  8.  
  9. def getHtml(self):
  10. try:
  11. response = requests.get(self.url,headers=self.kvs,timeout = 30)
  12. response.encoding = response.apparent_encoding
  13. response.raise_for_status
  14. html = response.text
  15. self.Parase(html)
  16. except:
  17. print("ERROR!")
  18.  
  19. def Parase(self,html):
  20. urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">', html)
  21. print(urls)
  22. self.Saveing(urls)
  23. def Saveing(self,urls):
  24. for url in urls:
  25. time.sleep(1)
  26. file_name = url.split('/')[-1]
  27. response = requests.get(url,headers=kv)
  28. with open(file_name,'wb') as f:
  29. f.write(response.content)
  30.  
  31. url='https://www.vmgirls.com/13333.html'#这里的端口号13333可以调整,调整后就是不同的妹子。
  32. kv={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'}
  33. m = Meizi(url, kv)
  34. m.getHtml()
  35. print('succ')

Python爬取养眼图片的更多相关文章

  1. 用python爬取全网妹子图片【附源码笔记】

    这是晚上没事无聊写的python爬虫小程序,专门爬取妹子图的,养眼用的,嘻嘻!身为程序狗只会这个了! 废话不多说,代码附上,仅供参考学习! """ 功能:爬取妹子图全网妹 ...

  2. 使用python爬取P站图片

    刚开学时有一段时间周末没事,于是经常在P站的特辑里收图,但是P站加载图片的速度比较感人,觉得自己身为计算机专业,怎么可以做一张张图慢慢下这么low的事,而且这样效率的确也太低了,于是就想写个程序来帮我 ...

  3. python爬取基础网页图片

    python基础爬虫总结 1.爬取信息原理 与浏览器客户端类似,向网站的服务器发送一个请求,该请求一般是url,也就是网址.之后服务器响应一个html页面给客户端,当然也有其他数据类型的信息,这些就是 ...

  4. python 爬取知乎图片

    先上完整代码 import requests import time import datetime import os import json import uuid from pyquery im ...

  5. Python爬取全站妹子图片,差点硬盘走火了!

    在这严寒的冬日,为了点燃我们的热情,今天小编可是给大家带来了偷偷收藏了很久的好东西.大家要注意点哈,我第一次使用的时候,大意导致差点坏了大事哈! 1.所需库安装 2.网站分析 首先打开妹子图的官网(m ...

  6. python爬取煎蛋图片

    py2版本: #-*- coding:utf-8 -*- #from __future__ import unicode_liter import urllib,urllib2,time import ...

  7. python爬取今日头条图片

    import requests from urllib.parse import urlencode from requests import codes import os # qianxiao99 ...

  8. python爬取某个网页的图片-如百度贴吧

    python爬取某个网页的图片-如百度贴吧 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用告诉我 #coding:utf-8 import urllib imp ...

  9. python 爬虫入门----案例爬取上海租房图片

    前言 对于一个net开发这爬虫真真的以前没有写过.这段时间学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方库Requests与BeautifulSoup. ...

随机推荐

  1. 关于LSTM实现长短期记忆功能问题

    2019-09-07 22:01:45 问题描述:LSTM是如何实现长短期记忆功能的? 问题求解: 与传统的循环神经网络相比,LSTM仍然是基于当前输入和之前的隐状态来计算当前的隐状态,只不过对内部的 ...

  2. JS十大经典排序排序算法

    1.冒泡排序 冒泡排序通常排在第一位,说明它是排序算法的入门算法,是最简单的一个排序算法,而且必须掌握和理解. 先来看看代码吧: function bubbleSort(arr) { let temp ...

  3. MySQL datetime类型详解

    研发反馈问题,数据库中datetime数据类型存储的值末尾会因四舍五入出现不一致数据,影响查询结果,比如:程序中自动获取带毫秒精度的日期'2019-03-05 01:53:55.63',存入数据库后变 ...

  4. 01.为什么要学习Go语言

    为什么互联网世界需要Go语言 世界上已经有太多太多的编程语言了,为什么又出来一个Go语言? 硬件限制:摩尔定律已然失效 摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会 ...

  5. ThunderNet :像闪电一样,旷视再出超轻量级检测器,高达267fps | ICCV 2019

    论文提出了实时的超轻量级two-stage detector ThunderNet,靠着精心设计的主干网络以及提高特征表达能力的CEM和SAM模块,使用很少的计算量就能超越目前的one-stage d ...

  6. ubuntu 如何在命令行打开当前目录

    nautilus /var 打开var文件夹

  7. flex布局取消子元素(img、div等)缩放:

    取消子元素(img.div等)缩放: 父元素: display: flex ; 子元素: flex-shrink: 0;

  8. java 根据图片文字动态生成图片

    今天在做热敏打印机打印二维码,并有文字描述,想到的简单的方法就是根据热敏打印机的纸张宽度和高度,生成对应的图片,如下: package com.orisdom.utils; import lombok ...

  9. Unity 游戏框架搭建 2019 (二十七) 弃用的代码警告解决

    在前两篇,我们把所有的示例重头到尾整理了一遍. 当前的状态如下: 要做的事情: (完成) 备份:导出文件,并取一个合理的名字. 遗留问题: (完成) 第八个示例与之前的示例代码重复,功能重复. (完成 ...

  10. 曹工说Redis源码(3)-- redis server 启动过程完整解析(中)

    文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...