python爬取某网站上的图片
1.请求网页
import requests# 请求头,对python爬虫进行伪装
# user-agent:浏览器的身份标识
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
# 由于vmgirls这个网站打开开发者工具会自动退出,可以在网址url前加“view-source:”,如:view-source:https://www.vmgirls.com/12985.html查看网页源代码
# 1.请求网页
response = requests.get('https://www.vmgirls.com/12985.html', headers=headers)
html = response.text
print(html)
2.解析网页,提取我们需要的数据
我们想要的是网页上的图片链接。
# 2.解析网页
# 使用正则表达式匹配网页文本中满足特定条件的内容
urls = re.findall('<a rel="nofollow" href="(.*?)" alt=".*?">', html)
print(urls)
3.保存数据
# 3.数据保存
# 通常把图片保存在一个文件夹下,便于管理
file_path = 'images/'
# 获取图集标题
title = re.findall('<h1 class="post-title mb-3">(.*?)</h1>', html)[-1]
# 文件夹名称:images/图集标题
dir_name = file_path + title
# 判断该文件夹是否存在
if not os.path.exists(dir_name):# 不存在则创建os.mkdir(dir_name)# 遍历每一个图片链接
for url in urls:# 休眠2秒,过于频繁会给网站造成压力,可能使其崩溃time.sleep(2)# 图片的名字,取图片链接的最后一个‘/’后面的数据,即xx.jpg/xx.png...file_name = url.split('/')[-1]# print(file_name)# 发送图片链接请求,获取图片数据,图片数据是二进制数据response = requests.get(url, headers=headers)# with open()是python用来打开本地文件的,在使用完毕后,自动关闭文件,无需手动书写close()with open(dir_name + '/' + file_name, 'wb') as f:# 写入二进制图片数据f.write(response.content)print('保存完成:', file_name)
效果:
完整代码:
import requests
import re
import os
import time# 请求头,对python爬虫进行伪装
# user-agent:浏览器的身份标识
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
# 由于vmgirls这个网站打开开发者工具会自动退出,可以在网址url前加“view-source:”,如:view-source:https://www.vmgirls.com/12985.html查看网页源代码
# 1.发送指定地址请求,请求数据
response = requests.get('https://www.vmgirls.com/12985.html', headers=headers)
html = response.text
# print(html)# 2.解析网页
# 使用正则表达式匹配网页文本中满足特定条件的内容
# 获取图片链接,返回列表
urls = re.findall('<a rel="nofollow" href="(.*?)" alt=".*?">', html)
# print(urls)# 3.数据保存
# 通常把图片保存在一个文件夹下,便于管理
file_path = 'images/'
# 获取图集标题
title = re.findall('<h1 class="post-title mb-3">(.*?)</h1>', html)[-1]
# 文件夹名称:images/图集标题
dir_name = file_path + title
# 判断该文件夹是否存在
if not os.path.exists(dir_name):# 不存在则创建os.mkdir(dir_name)# 遍历每一个图片链接
for url in urls:# 休眠2秒time.sleep(2)# 图片的名字,取图片链接的最后一个‘/’后面的数据,即xx.jpg/xx.png...file_name = url.split('/')[-1]# print(file_name)# 发送图片链接请求,获取图片数据,图片数据是二进制数据response = requests.get(url, headers=headers)# with open()用来打开本地文件,使用完毕后,自动关闭文件,无需手动书写close()with open(dir_name + '/' + file_name, 'wb') as f:# 写入二进制图片数据f.write(response.content)print('保存完成:', file_name)
参考文章及其他
- https://www.bilibili.com/video/BV1qJ411S7F6
python爬取某网站上的图片相关推荐
- python爬取某网站上的图片2
""" 爬虫:模拟客户端<浏览器,app应用>批量请求服务器数据爬虫数据采集的一般步骤: 1.找数据对应的链接地址 2.发送指定地址请求,请求数据 3.数据提 ...
- 用python爬取动态网页上的图片(百度图片)
用python爬取动态网页上的图片(百度图片) 参考B站一个视频,视频链接: https://www.bilibili.com/video/BV1Va4y1Y7fK?share_source=copy ...
- 用python爬取今日头条上的图片_Python爬虫:抓取今日头条图集
今天我们来爬取今日头条图集,老司机以街拍为例. 运行平台: Windows Python版本: Python3.6 IDE: Sublime Text 其他工具: Chrome浏览器 1.网页分析 从 ...
- python爬取某网站上的歌曲
# -- coding: utf-8 -- """ 代码实现:1.发送请求2.获取数据3.解析数据4.保存数据 """ import req ...
- python爬虫网页中的图片_Python爬虫爬取一个网页上的图片地址实例代码
本文实例主要是实现爬取一个网页上的图片地址,具体如下. 读取一个网页的源代码: import urllib.request def getHtml(url): html=urllib.request. ...
- Python | 使用Python爬取Wallhaven网站壁纸并上传百度网盘
更多详情请查看Honker Python | 使用Python爬取Wallhaven网站壁纸并上传百度网盘 给大家推荐一款超好用的壁纸下载网站-- wallhaven 第一次知道这个网站的时候,惊为天 ...
- Python爬取京东商品评论和图片下载
Python爬取京东商品评论和图片下载 代码仅供学习使用,切勿扩散并且频繁爬取网站 贴上代码和注释,方便自己下次看 import requests import time import json im ...
- 利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息
新增:国外疫情网站介绍 已更新:爬取国外疫情数据 已更新:新型肺炎历史数据下载 2020年3月27日补充: 制作了一个全球肺炎数据查询下载网站,效果如下: 访问地址:http://119.3.227. ...
- 使用Python爬取马蜂窝网站的游记和照片
使用Python爬取马蜂窝网站的游记和照片 特殊原因需要在马蜂窝上爬取一些游记和照片作为后续分析处理的数据,参考网上一些类似的爬虫文章,自己尝试了一下,这次爬取的是马蜂窝上所有有关苏州的游记(包括游记 ...
最新文章
- 深度学习中的随机梯度下降(SGD)简介
- 如何使用jQuery检查单选按钮?
- Caddy-基于go的微型serve用来做反向代理和Gateway
- 在 Element-UI 的 Table 组件上添加列拖拽效果
- 音视频技术开发周刊 | 134
- Flex sdk4 布局与更新
- 语言逻辑运算符两侧运算对象_5.3 C语言逻辑运算符与表达式
- 【题解】HAOI2007分割矩阵
- esp8266舵机驱动_arduino开发ESP8266学习笔记四—–舵机
- 14 PP配置-生产主数据-BOM相关-定义项目状态的缺省值
- python安装opencv whl_Python 3.x 安装opencv+opencv_contrib的操作方法
- 洛谷——P1146 硬币翻转
- OpenSSL 用SM3算法进行hash
- 服务器虚拟主机推荐,免费的虚拟主机推荐
- 为什么计算机窗口在桌面不显示,电脑桌面无法显示怎么解决
- [转载]关于太阳(卫星)天顶角,太阳高度角,太阳方位角的整理
- 放荡不羁SVG讲解与实战之Android高级UI
- 手把手带你学python自动化测试(一)——自动化测试环境搭建
- odoo网页上传本地视频
- 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框