基于python实现获取网页图片过程解析
环境:python3, 要安装bs4这个第三方库
获取请求头的方法
这里使用的是Chrome浏览器。
打开你想查询的网站,按F12,或者鼠标右键一下选择检查。会弹出如下的审查元素页面:
然后点击上方选项中的Network选项:
此时在按Ctrl+R:
选择下方框中的第一个,单击:
选择Headers选项,其中就会有Request Headers,包括你需要的信息。
介绍:这个程序是用来批量获取网页的图片,用于新手入门
注意:由于是入门的程序在获取某些网页的图片时会出问题!!!!!
import os import urllib.request from bs4 import BeautifulSoup # 网址 url = "http://www2017.tyut.edu.cn/" # 建立请求对象 request = urllib.request.Request(url) # 加入请求头(一定要换成自己的!!!!) request.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36') # 获取请求 code = urllib.request.urlopen(request) # 得到html代码 html = code.read().decode('utf-8') # 将html的标签转成对象(方便后面的操作) bs = BeautifulSoup(html, 'html.parser') # 提取所有的img标签 imagesUrl = bs.find_all('img') sources = [] # 建立存放的路径(路径一定要存在!!!!!!) filepath = os.getcwd() + '\\images\\' def createFile(path: str, fpath): urllib.request.urlretrieve(path, fpath) # 获取图片的路径(网址+img标签的src属性的值) for img in imagesUrl: sources.append(url + str(img.get('src'))) for src in sources: # 用split是防止请求带参 baseName = os.path.basename(src).split('?') # 图片名 fileName = filepath + baseName[0] print("url=" + src, "filename=" + fileName) createFile(src, fileName) print('这次您一共下载了图片' + str(len(sources)) + '张')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python使用PIL模块获取图片像素点的方法
如下所示: from PIL import Image ########获取图片指定像素点的像素 def getPngPix(pngPath = "aa.png",pixelX = 1,pixelY = 1): img_src = Image.open(pngPath) img_src = img_src.convert('RGBA') str_strlist = img_src.load() data = str_strlist[pixelX,pixe
-
如何基于Python获取图片的物理尺寸
这篇文章主要介绍了如何基于Python获取图片的物理尺寸,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题 如何获取图片的物理尺寸,而非(width, height)? 代码 以女神图为例 #! -*- coding: utf-8 -*- import requests import io url = "http://s1.sinaimg.cn/large/001Db1PVzy7qxVQWMjs06" image = request
-
python 获取图片分辨率的方法
pil版: from PIL import Image filename = r'E:\data\yangben\0.jpg' img = Image.open(filename) imgSize = img.size #图片的长和宽 print (imgSize) maxSize = max(imgSize) #图片的长边 minSize = min(imgSize) #图片的短边 print(maxSize, minSize) opencv版: img = cv2.imread(F1) sp
-
python3.5 cv2 获取视频特定帧生成jpg图片
假如文件夹有大量视频文件,需求目标是想从每个视频中提取一帧作为视频的一个封面图片,本文利用opencv-python模块实现需求.结合自己的工作,做一下简单的记录,原本想生成可传参数的exe文件,以方便同事使用.但 import cv2 用pyinstaller生成exe时就会报错,暂时没有找到解决方案 ,报错如下: (如哪位朋友碰到类似问题,并且解决,请给我留言,谢谢大神) 1.安装模块 pip install opencv-python 安装完成后 import cv2 出现异常,Impor
-
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
本文实例讲述了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法.分享给大家供大家参考.具体分析如下: 这段代码主要用来从图片提取其主要颜色,类似Goolge和Baidu的图片搜索时可以指定按照颜色搜索,所以我们先需要将每张图片的主要颜色提取出来,然后将颜色划分到与其最接近的颜色段上,然后就可以按照颜色搜索了. 在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死,开个玩笑,当然是通
-
Python基于opencv调用摄像头获取个人图片的实现方法
接触图像领域的应该对于opencv都不会感到陌生,这个应该算是功能十分强劲的一个算法库了,当然了,使用起来也是很方便的,之前使用Windows7的时候出现多该库难以安装成功的情况,现在这个问题就不存在了,需要安装包的话可以去我的资源中下载使用,使用pip安装方式十分地便捷. 今天主要是基于opencv模块来调用笔记本的内置摄像头,然后从视频流中获取到人脸的图像数据用于之后的人脸识别项目,也就是为了构建可用的数据集.整个实现过程并不复杂,具体如下: #!usr/bin/env python #en
-
python自动化实现登录获取图片验证码功能
主要记录一下:图片验证码 1.获取登录界面的图片 2.获取验证码位置 3.在登录页面截取验证码保存 4.调用百度api识别(目前准确率较高的识别图片api) 本次登录的系统页面,可以看到图片验证码的位置 from selenium import webdriver import time from PIL import Image base_url = '***********' browser = webdriver.Chrome() browser.maximize_window() bro
-
python获取网络图片方法及整理过程详解
这篇文章主要介绍了python获取网络图片方法及整理过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方式1 使用urllib库 import urllib.request import os ,stat url = "https://cn.bing.com/th?id=OHR.Lidong2019_ZH-CN0761273672_1920x1080.jpg" try: urllib.request.urlretrieve(ur
-
基于python实现获取网页图片过程解析
环境:python3, 要安装bs4这个第三方库 获取请求头的方法 这里使用的是Chrome浏览器. 打开你想查询的网站,按F12,或者鼠标右键一下选择检查.会弹出如下的审查元素页面: 然后点击上方选项中的Network选项: 此时在按Ctrl+R: 选择下方框中的第一个,单击: 选择Headers选项,其中就会有Request Headers,包括你需要的信息. 介绍:这个程序是用来批量获取网页的图片,用于新手入门 注意:由于是入门的程序在获取某些网页的图片时会出问题!!!!! import
-
基于python实现破解滑动验证码过程解析
前言: 很多小伙伴们反馈,在web自动化的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证码的验证.今天专门给大家来聊聊验证码的问题,一般的情况下遇到验证码我们可以都可以找开发去帮忙解决,关闭验证码,或者给一个万能的验证码!那么如果开发不提供帮助的话,我们自己有没有办法来处理这些验证码的问题呢?答案当然是有的,常见的验证码一般分为两类,一类是图文验证码,一类是滑动验证码! 今天我们主要来聊聊滑动验证码如何去识别破解. 滑动验证破解思路 关于滑动验证码破解的思路大体上来讲就是以下两个步骤:
-
基于Python检测动态物体颜色过程解析
本篇文章将通过图片对比的方法检查视频中的动态物体,并将其中会动的物体定位用cv2矩形框圈出来.本次项目可用于树莓派或者单片机追踪做一些思路参考.寻找动态物体也可以用来监控是否有人进入房间等等场所的监控.不仅如此,通过对物体的像素值判断分类,达到判断动态物体总体颜色的效果. 引言 物体检测,是一种基于目的几何学和统计资料特点的影像拆分,它将目的的拆分和辨识,其准确度和实时性是整个该系统的一项最重要战斗能力.特别是在是在简单桥段中的,必须对多个目的展开实时处理时,目的系统会萃取和辨识就变得尤其最重要
-
基于java流实现压缩图片过程解析
整理文档,搜刮出一个Java做图片压缩的代码,稍微整理精简一下做下分享. 首先,要压缩的图片格式不能说动态图片,你可以使用bmp.png.gif等,至于压缩质量,可以通过BufferedImage来指定. 在C盘的temp下放置一张图片pic123.jpg,尽量找一个像素高一点的图片,这里我找了一张5616*3744的. package test; import java.io.*; import java.util.Date; import java.awt.*; import java.aw
-
Python requests获取网页常用方法解析
这篇文章主要介绍了Python requests获取网页常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 主要记录使用 requests 模块获取网页源码的方法 class Crawler(object): """ 采集类 """ def __init__(self, base_url): self._base_url = base_url self._cookie = None se
-
Python实现简单网页图片抓取完整代码实例
利用python抓取网络图片的步骤是: 1.根据给定的网址获取网页源代码 2.利用正则表达式把源代码中的图片地址过滤出来 3.根据过滤出来的图片地址下载网络图片 以下是比较简单的一个抓取某一个百度贴吧网页的图片的实现: # -*- coding: utf-8 -*- # feimengjuan import re import urllib import urllib2 #抓取网页图片 #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 def getHtml(url): pag
-
Python爬虫之网页图片抓取的方法
一.引入 这段时间一直在学习Python的东西,以前就听说Python爬虫多厉害,正好现在学到这里,跟着小甲鱼的Python视频写了一个爬虫程序,能实现简单的网页图片下载. 二.代码 __author__ = "JentZhang" import urllib.request import os import random import re def url_open(url): ''' 打开网页 :param url: :return: ''' req = urllib.reques
-
Python 爬取网页图片详解流程
简介 快乐在满足中求,烦恼多从欲中来 记录程序的点点滴滴. 输入一个网址从这个网址中解析出图片,并将它保存在本地 流程图 程序分析 解析主网址 def get_urls(): url = 'http://www.nipic.com/show/35350678.html' # 主网址 pattern = "(http.*?jpg)" header = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi
-
C#基于正则表达式实现获取网页中所有信息的网页抓取类实例
本文实例讲述了C#基于正则表达式实现获取网页中所有信息的网页抓取类.分享给大家供大家参考,具体如下: 类的代码: using System; using System.Data; using System.Configuration; using System.Net; using System.IO; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; using
-
JS获取网页图片name属性的方法
本文实例讲述了JS获取网页图片name属性的方法.分享给大家供大家参考.具体如下: 下面的JS代码可以用来获取网页图片的name属性 <!DOCTYPE html> <html> <body> <img id="compman" name="compman" src="compman.gif" alt="Computerman" width="107" height
随机推荐
- 基于Asp.Net MVC4 Bundle捆绑压缩技术的介绍
- IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
- 正则删除字符串左、右或两端的空格经验总结
- ASP.NET中 TextBox 文本输入框控件的使用方法
- js 生成密匙流 脚本代码
- php addslashes和mysql_real_escape_string
- 分享一个精简的vue.js 图片lazyload插件实例
- MySQL rownumber SQL生成自增长序号使用介绍
- zend stdio8.0 快捷键汇总集合
- jQuery实现的动态伸缩导航菜单实例
- 三种东西永远不要放到mysql数据库里
- 浅析MySQL的注入安全问题
- php生成的html meta和link标记在body标签里 顶部有个空行
- IIS设置CACHE过期时间的教程
- CentOS 6.3下安装PHP xcache扩展模块笔记
- 探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
- C语言对对碰游戏源码分享
- Android 静默安装和智能安装的实现方法
- SpringBoot应用War包形式部署到外部Tomcat的方法
- Java标识接口的使用方法