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) 代码结构设计
我们的代码可以实现,链接得到网页源码、解析源码得到图片、保存图片。
结构如下:

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

(2)导入库

import requests
import re
import time

(3)获取网页HTML

 def getHtml(self):
try:
response = requests.get(self.url,headers=self.kvs,timeout = 30)
response.encoding = response.apparent_encoding
response.raise_for_status
html = response.text
self.Parase(html)
except:
print("ERROR!")

(4)解析HTML

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

(5)保存为图片文件

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

3. 结尾(附完整代码)

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

import requests
import re
import time
class Meizi:
def __init__(self,urls,kv):
self.url = urls
self.kvs = kv def getHtml(self):
try:
response = requests.get(self.url,headers=self.kvs,timeout = 30)
response.encoding = response.apparent_encoding
response.raise_for_status
html = response.text
self.Parase(html)
except:
print("ERROR!") def Parase(self,html):
urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">', html)
print(urls)
self.Saveing(urls)
def Saveing(self,urls):
for url in urls:
time.sleep(1)
file_name = url.split('/')[-1]
response = requests.get(url,headers=kv)
with open(file_name,'wb') as f:
f.write(response.content) url='https://www.vmgirls.com/13333.html'#这里的端口号13333可以调整,调整后就是不同的妹子。
kv={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'}
m = Meizi(url, kv)
m.getHtml()
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. 你需要了解的 HTTP Status Code

    你需要了解的 HTTP Status Code Intro 现在前后端分离的开发模式越来越流行,后端负责开发对应的 API,前端只需要 关注前端页面的数据展示和前端逻辑即可. 对于前后端分离这种开发模 ...

  2. Nginx Rewrite规则的break和last示例

    break和last各自的作用 官方解释 last:stops processing the current set of ngx_http_rewrite_module directives fol ...

  3. OpenCV-Python 轮廓:入门 | 二十一

    目标 了解轮廓是什么. 学习查找轮廓,绘制轮廓等. 你将看到以下功能:cv.findContours(),cv.drawContours() 什么是轮廓? 轮廓可以简单地解释为连接具有相同颜色或强度的 ...

  4. TensorFlow 安装官方教程:Ubuntu 安装,Mac OS X 安装,Windows 安装

    从我的使用体验来看  Ubuntu 是最好的, Mac 没有显卡,后期跑大项目比较鸡肋,Windows 安装各种依赖各种坑.Ubuntu 安装 TensorFlow 方便,后面安装  TensorFl ...

  5. 万字综述,核心开发者全面解读PyTorch内部机制

    斯坦福大学博士生与 Facebook 人工智能研究所研究工程师 Edward Z. Yang 是 PyTorch 开源项目的核心开发者之一.他在 5 月 14 日的 PyTorch 纽约聚会上做了一个 ...

  6. Prism 源码解读6-事件聚合

    0 介绍 事件提供的是1对多的绑定,通过委托链实现对订阅者的调用,事件必须要通过发布者调用.同时事件订阅是强引用,事件订阅者的生命周期总是大于等于事件发布者.如果代码中事件很多就会充斥着各种事件的订阅 ...

  7. 读者来信 | 刚搭完HBase集群,Phoenix一启动,HBase就全崩了,是什么原因?(已解决)

    前言:之前有朋友加好友与我探讨一些问题,我觉得这些问题倒挺有价值的:于是就想在本公众号开设一个问答专栏,方便技术交流与分享,专栏名就定为:<读者来信>.如遇到本人能力有限难以解决的问题,我 ...

  8. 数据挖掘 决策树 Decision tree

    数据挖掘-决策树 Decision tree 目录 数据挖掘-决策树 Decision tree 1. 决策树概述 1.1 决策树介绍 1.1.1 决策树定义 1.1.2 本质 1.1.3 决策树的组 ...

  9. 剑指Offer系列之题16~题20

    目录 16.反转链表 17.合并两个排序的链表 18.树的子结构

  10. 家庭版记账本app进度之关于android界面布局的相关学习

    1.线性布局(linearlayout)是一种让视图水平或垂直线性排列的布局线性布局使用<LinearLayout>标签进行配置对应代码中的类是android.widget.LinearL ...