4.正则提取html中的img标签的src内容

这篇具有很好参考价值的文章主要介绍了4.正则提取html中的img标签的src内容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们以百度贴吧的1吧举例

目录

1  把网页搞下来

2  收集url

3  处理url

4  空的src

5  容错

6  不使用数字作为文件名

7  并不是所有的图片都用img标签表示

8  img标签中src请求下来不一定正确

9  分页


 

1  把网页搞下来

4.正则提取html中的img标签的src内容,爬虫笔记,python

搞下来之后,双击打开是这样的

4.正则提取html中的img标签的src内容,爬虫笔记,python

2  收集url

我们实际拿的就是 img标签中src的内容,比如这个

4.正则提取html中的img标签的src内容,爬虫笔记,python

我们通过正则获取一下

4.正则提取html中的img标签的src内容,爬虫笔记,python

我们得到了这些结果

4.正则提取html中的img标签的src内容,爬虫笔记,python

3  处理url

我们发现上面好多url都没有协议,那么我们需要给协议加上,然后发起请求,保存。我们用数字作为保存图像的名称

4.正则提取html中的img标签的src内容,爬虫笔记,python

运行后发现报错了

4.正则提取html中的img标签的src内容,爬虫笔记,python

4  空的src

错误的原因是我们获取的结果,第三条是空的

4.正则提取html中的img标签的src内容,爬虫笔记,python

这种就是前端用来占位的,我们在保存的html中可以看到确实是没东西

4.正则提取html中的img标签的src内容,爬虫笔记,python

这时候如果不确定的话,可以用浏览器访问,然后搜一下,发现在浏览器中它也是空的

4.正则提取html中的img标签的src内容,爬虫笔记,python

5  容错

除了空的src,之后还可能会有很多问题,比起通过if来判断是否为空,在调试阶段中,我更倾向用try还except来捕获错误

4.正则提取html中的img标签的src内容,爬虫笔记,python

这一次我们保存了很多的图片

4.正则提取html中的img标签的src内容,爬虫笔记,python

但我们发现重复的图像太多了

4.正则提取html中的img标签的src内容,爬虫笔记,python

6  不使用数字作为文件名

现在有很多方法来进行数据去重,比如使用hash库,我们这里使用文件名的方式去重,如果html中引入的文件相同,那他们的文件名也应该相同

我们发现有两种格式的url,一种是红色箭头的url以文件格式结尾,另一种是不以文件格式做结尾。但他们都有一个共同点,文件名都在最后一个斜杠的后面

4.正则提取html中的img标签的src内容,爬虫笔记,python

那么我们可以这样写

  • 这样写有个缺点,对于查询字符串的url直接给了数字与png做名字

4.正则提取html中的img标签的src内容,爬虫笔记,python

至此img的src内容已经全搞下来了

4.正则提取html中的img标签的src内容,爬虫笔记,python

7  并不是所有的图片都用img标签表示

比如这张图

4.正则提取html中的img标签的src内容,爬虫笔记,python

还有这张图

4.正则提取html中的img标签的src内容,爬虫笔记,python

8  img标签中src请求下来不一定正确

比如这里,我保存的网页是这样的

4.正则提取html中的img标签的src内容,爬虫笔记,python

但实际是这样的

4.正则提取html中的img标签的src内容,爬虫笔记,python

我们这个时候就要关注img标签的其他属性,比如这里的 data-original与bpic,用浏览器访问data-original的地址,会得到缩略图

4.正则提取html中的img标签的src内容,爬虫笔记,python

用浏览器访问bpic的地址会得到这张大图

4.正则提取html中的img标签的src内容,爬虫笔记,python

9  分页

像这种分页一般由于url挂钩,第一页pn是0

4.正则提取html中的img标签的src内容,爬虫笔记,python

第二页pn是50

4.正则提取html中的img标签的src内容,爬虫笔记,python

之后的pn就会是100,150,200这种,我们可以利用这个特性爬取多页

4.正则提取html中的img标签的src内容,爬虫笔记,python

发现可以成功爬取一些图片

4.正则提取html中的img标签的src内容,爬虫笔记,python文章来源地址https://www.toymoban.com/news/detail-696186.html

到了这里,关于4.正则提取html中的img标签的src内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue中如何动态配置img标签的src

    我遇到问题:        我在做项目的时候,要根据后台给我返回的天气数据,然后动态的显示天气的图片,比如后台给我返回的数据是“晴”,那么大屏就要显示晴的图片,如果,后台给我返回的数据是“阴”,那么我就需要在大屏上显示阴的图片,但是我在给src动态的设置

    2024年02月14日
    浏览(39)
  • Python爬虫——BeautifulSoup,获取HTML中文档,标签等内容

    将复杂的HTML文档转换成一个复杂的树形结构,每个结点都是一个Python对象,所有对象可以分为四种: Tag NavigableString BeautifulSoup Comment 首先要引入该函数,再打开相应的html文件读取其中的内容,在使用BeautiSoup对其进行解析,解析的时候要使用相应类型的解析器html.parser bs当中

    2024年02月06日
    浏览(52)
  • 使用正则表达式替换文本中的html标签

    我们存储 markdown 文章时,如果存储转换后的 html 页面,那么在查出来的时候,会带有标签,可以使用正则表达式去除标签 如果要展示 html 文本,肯定不能直接删除掉标签,如下即可:

    2024年02月13日
    浏览(45)
  • 【python】利用BeautifulSoup提取html中的标签、数据

            对于不熟悉HTML和正则表达式的人,可以用第三方模块包BeautifulSoup来提取HTML或XML中的数据。 使用解析器分析指定的网页源代码,得到源代码的结构模型 通过标签名进行定位 源代码中可能会有多个同名标签,通过标签名定位只能返回第一个标签: 通过标签属性定

    2024年02月09日
    浏览(40)
  • HTML img标签识别base64图片格式

    红色框框为需要带上的格式,有这个格式img标签才能对base64进行解码,后面白色框框为base64编码 还有一些其他格式为: data:,文本数据 data:text/plain,文本数据 ;javascript:;,HTML代码 ;javascript:;;base64,base64编码的HTML代码 data:text/css,CSS代码 data:text/css;base64,base64编码的CSS代码 data:text/ja

    2024年02月16日
    浏览(41)
  • postman 正则提取html里的值

    如上图,获取key的值,在test编辑以下语句 var pubKey = responseBody.match(new RegExp(\\\"key = \\\'(.*?)\\\'\\\")) console.log(pubKey[1])

    2024年02月07日
    浏览(36)
  • 【python】网络爬虫与信息提取--正则表达式

            正则表达式是用来简洁表达一组字符串的表达式。是通用的字符串表达框架,简洁表达一组字符串的表达式,针对字符串表达“简洁”和“特征”思想的工具,判断某字符串的特征归属。         用处:表达文本类型的特征;同时查找或替换一组字符串;匹配字符串

    2024年02月19日
    浏览(75)
  • [前端笔记——多媒体与嵌入] 6.HTML 中的图片+视频+音频内容

    可以用 img 元素来把图片放到网页上。它是一个空元素(它不需要包含文本内容或闭合标签),最少只需要一个 src (一般读作其全称 * *source) * *来使其生效。src 属性包含了指向我们想要引入的图片的路径,可以是相对路径或绝对 URL,就像 a 元素的 href 属性一样。 属性是

    2023年04月25日
    浏览(57)
  • html2canvas 截图空白 或出现toDataURL‘ on ‘HTMLCanvasElement或img标签没截下来 的所有解决办法

    1.1以下的参数是必须要有的。 2.1这两个是解决这个报错的 3.1先设置上这个参数 3.2必须在img标签上加上这个参数 3.3最重要的一步就是必须把你的图片路径变成base64格式的,不管是网络图片还是本地图片 都不管用 必须是base64格式的, 转成了base64格式会截图很慢,所以你截图的

    2024年02月10日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包