首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用 img 的 src 属性发起 get 请求踩坑记录

一、背景 工作中,碰到一个需求,需要使用img标签的src属性发送一个get请求。原先的设想是,当请求发送成功之后,会触发img的onload回调,请求失败,则触发img的onerror回调。...编写测试demo 首先写一个demo,利用js动态创建一个img标签,然后将接口地址赋值给src属性,发起请求,同时,设置好onload和onerror回调函数。 src属性的值换成一个正常的图片地址后,onload就能正常触发。 3....但是不甘心呀,于是网上查阅资料,发现还HTMLImageElement上还有一个叫complete的只读属性,它是一个布尔值,表示图片是否完全加载完成。...不管请求成功还是失败,都是触发的onerror,而onerror里面打印的complete值也都是true,王德发???

4.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP 正则表达式 获取富文本中的 img标签的src属性

    前言 鄙人发现对于微信看看中的文章,一般都会有三张摘要图片; 所以想着可以直接提取富文本中的 img>标签的 src 属性信息; 这样就可以在前台的 文章列表中展示三张图片(建议不要多了),吸引阅读...img> 标签是忽略大小写的,并且 标签结尾 使用 > 或者 /> - 2. src 属性信息一般是以".jpg|.png|.jpeg|.gif"结尾的; 但是也有的不需要扩展没那个结尾(只是个图片链接...注意匹配的结尾形式 ([^\'\"]*) 匹配不上单引号和双引号的字符 整理后的处理源码如下: /** * 对富文本信息中的数据 * 匹配出所有的 img> 标签的 src属性 * @param...标签中的 src属性信息 $pattern_src = '/\bsrc\b\s*=\s*[\'\"]?...参考文章 ------ 如何通过正则表达式获取img标签的src属性 ------ PHP正则表达式,看这一篇就够啦! ②. 推荐学习—— 正则表达式 - 匹配规则

    6.8K10

    XSS 攻击与防御

    综上,推荐使用 textContent 属性。 2. 提前关闭 HTML 属性 比如一个 img 标签原来的样子是:img src="xxx">。...多出来的一部分也可能是在 URL 中输入了 xxx" onerror="alert(1)(将图片地址作为 URL 参数)。他把 src 属性的双引号提前关闭了。解决办法就是转义双引号和单引号。...var $ = cheerio.load(html); // 允许保留的标签和属性 var whiteList = { 'img': ["src"], };...只需在 filterXSS 函数的第二个参数传入一个对象即可。对象的键是标签名,值是一个数组,里面传入的是标签的属性,表示这些属性不会被过滤,不在数组中的属性会被过滤。...当 whiteList 的值是一个空数组时,表示去除所有的 HTML 标签,只保留文本内容。

    3.9K20

    使用 TypeScript 接口优化数据结构

    TypeScript 接口简介TypeScript 接口是一种强大的方式,用于定义对象的结构,它可以用来定义对象、函数、数组甚至是类的结构。接口通过定义一组属性和方法,为数据结构提供了一个清晰的蓝图。...爬虫设计我们的爬虫将分为以下几个步骤:使用 Axios 发送 HTTP 请求获取目标微博页面的 HTML 内容。使用 Cheerio 解析 HTML 内容,提取微博数据。...6.2 安装依赖安装 Axios 和 Cheerio。6.3 编写爬虫代码创建一个名为 crawler.ts 的文件,并编写以下代码。...import axios from 'axios';import cheerio from 'cheerio';import { IWeibo, IUser, IAudioInfo } from '....').map((i, img) => $(img).attr('src')).get(); // 提取视频 URL const videoUrl = $('#weibo_video').attr

    13210

    midway的使用教程

    Node自身API封装请求 cheerio在项目中的应用 正则表达式在项目中的应用 单元测试 二、midway项目的创建和使用 第一步:输入命令**npm init midway**初始化midway项目...题目是,从获取的HTML源代码文本里,解析出id=lg的div标签里面的img标签,并返回此img标签上的src属性值 4.1、cheerio一把梭 如果你没赶上JQuery时代,那么其实你可以学下cheerio...笔者正则不太好,这里写不出一步到位的正则,先写出匹配id为lg的div的正则,然后进一步匹配对应的img标签的src属性,是的,一步不行,那咱就走两步,最终结果和走一步是一样的。...=)/gi; // 匹配img标签的src属性 const reSrc = /img.*?src="(.*?)".*?\/?...src=//www.baidu.com/img/gs.gif> ➜ tmp 但是当我给上模拟浏览器的请求后wget

    72340

    Node.js爬虫之使用cheerio爬取图片

    在写前端我们都知道jQuery能方便帮我我们进行各种DOM操作,通过DOM操作我们可以方便的获取元素的各种属性,不过jqDOM操作只能运行在客户端,如果服务端有这样的一个工具能帮我们进行DOM操作那不是就解决了之前不断写正则的问题...当然有---cheerio cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方 你可以把cheerio当做服务端的jQuery 我们先来看一个案例...安装cheerio npm i cheerio 如图我们要爬取该网站的表情包 分析 1.我们以列表页为起始页,该页面展示了表情包的分类,我们要获取所有分类的url 2.获取分类名称,根据分类名称创建文件夹.../img/'+title,function(err){ if(!...但是我们只爬取了单页的图片,一般网站都会涉及到分页,接下来我们将分页的数据一并爬取 分析 1.我们从起始页就可以获取到该网站的总页数 2.循环总页数获取数据每次url后缀+1 https://www.fabiaoqing.com

    1.3K10

    Node.js爬虫实战 - 爬你喜欢的

    目标网站 我们要获取排行榜中六部小说的:书名、封面、以及小说书籍信息对应的地址(后续获取小说完整信息) 爬取第二步-分析目标特点 网页的内容是由HTML生成的,抓取内容就相当找到特定的HTML结构,获取该元素的值...HTML数据结构 注意观察页面HTML的结构,排行榜推荐的小说的HTML结构是 bdo#s-dd 元素 dd 子元素 - 每一部小说 a 目录信息 img...const sp = require('superagent'); const cheerio = require('cheerio'); // 定义请求的URL地址 const BASE_URL...将字符串导入,使用cheerio获取元素 let $ = cheerio.load(html.text); // 3....).attr('src') } books.push(info) }) console.log(books) })() 友情提醒:每个网站的HTML结构是不一样,在抓取不同网站的数据时

    3.3K30
    领券