Python爬取养眼图片
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爬取养眼图片的更多相关文章
- 用python爬取全网妹子图片【附源码笔记】
这是晚上没事无聊写的python爬虫小程序,专门爬取妹子图的,养眼用的,嘻嘻!身为程序狗只会这个了! 废话不多说,代码附上,仅供参考学习! """ 功能:爬取妹子图全网妹 ...
- 使用python爬取P站图片
刚开学时有一段时间周末没事,于是经常在P站的特辑里收图,但是P站加载图片的速度比较感人,觉得自己身为计算机专业,怎么可以做一张张图慢慢下这么low的事,而且这样效率的确也太低了,于是就想写个程序来帮我 ...
- python爬取基础网页图片
python基础爬虫总结 1.爬取信息原理 与浏览器客户端类似,向网站的服务器发送一个请求,该请求一般是url,也就是网址.之后服务器响应一个html页面给客户端,当然也有其他数据类型的信息,这些就是 ...
- python 爬取知乎图片
先上完整代码 import requests import time import datetime import os import json import uuid from pyquery im ...
- Python爬取全站妹子图片,差点硬盘走火了!
在这严寒的冬日,为了点燃我们的热情,今天小编可是给大家带来了偷偷收藏了很久的好东西.大家要注意点哈,我第一次使用的时候,大意导致差点坏了大事哈! 1.所需库安装 2.网站分析 首先打开妹子图的官网(m ...
- python爬取煎蛋图片
py2版本: #-*- coding:utf-8 -*- #from __future__ import unicode_liter import urllib,urllib2,time import ...
- python爬取今日头条图片
import requests from urllib.parse import urlencode from requests import codes import os # qianxiao99 ...
- python爬取某个网页的图片-如百度贴吧
python爬取某个网页的图片-如百度贴吧 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用告诉我 #coding:utf-8 import urllib imp ...
- python 爬虫入门----案例爬取上海租房图片
前言 对于一个net开发这爬虫真真的以前没有写过.这段时间学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方库Requests与BeautifulSoup. ...
随机推荐
- FormDataBodyPart获取表单文件名乱码解决方法
FormDataMultiPart formData=; FormDataBodyPart filePart=; filePart.getFormDataContentDisposition().ge ...
- spring boot项目打war包
1.如果有本地依赖,添加本地依赖到maven <!--lib目录下的jar包--> <dependency> <groupId>com.dm</groupId ...
- 120prop-python3.7 读写.properties文件
120prop-python3.7 读写.properties文件 转载 nature_ph 最后发布于2019-07-30 10:12:05 阅读数 229 收藏 发布于2019-07-30 10: ...
- Visdom 介绍 | 二
用于创建,组织和共享实时丰富数据可视化的灵活工具.支持Python. 概述 概念 设置 用法 API 注意事项 贡献 API 要快速了解visdom的功能,请查看example目录,或阅读以下详细信息 ...
- Dropout的前世与今生
Dropout 是一类用于神经网络训练或推理的随机化技术,这类技术已经引起了研究者们的广泛兴趣,并且被广泛地应用于神经网络正则化.模型压缩等任务.虽然 Dropout 最初是为密集的神经网络层量身定制 ...
- MySQL count知多少
统计一个表的数据量是经常遇到的需求,但是不同的表设计及不同的写法,统计性能差别会有较大的差异,下面就简单通过实验进行测试(大家测试的时候注意缓存的情况,否则影响测试结果). 1. 准备工作 为了后续测 ...
- Codeforces 1322C - Instant Noodles(数学)
题目链接 题意 给出一个二分图, 两边各 n 个点, 共 m 条边, n, m ≤ 5e5. 右边的点具有权值 \(c_i\), 对于一个只包含左边的点的点集 S, 定义 N(S) 为所有与这个点集相 ...
- 求你了,别再问我Zookeeper如何实现分布式锁了!!!
导读 真是有人(锁)的地方就有江湖(事务),今天不谈江湖,来撩撩人. 分布式锁的概念.为什么使用分布式锁,想必大家已经很清楚了.前段时间作者写过Redis是如何实现分布式锁,今天这篇文章来谈谈Zook ...
- ajax前端传递对象给后端
前端操作如下即可:
- Python中判断输入字符串是否为数字的方法
在写物理实验图像处理的脚本时,遇到了一个判断输入的字符串是否为数字的方法 最开始我的思路是这个 test = input() while test.isdigit(): # do something ...