meta标签有毒

2024-02-03 05:08
文章标签 meta 标签 有毒

本文主要是介绍meta标签有毒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天要完成的一项工作是:从 html文件中提取,title标签
原本以为是很简单的工作呢。可是一个素食网站里面,像这些http://www.chinavegan.com/2015/05/2015051718461747.html
网页,当我用 httpclient下载页面,然后用jsoup进行解析的时候,发现,document对象里面,title标签,h1标签统统都没有了。可是,我再去下载好的网页时看,咦,title、h1标签都是存在的啊。
怎么回事?

后俩比较一下 如下的两个网页:
http://www.chinavegan.com/2015/05/2015051718461747.htm
(抽不出 title、h1标签内容,因为jsoup解析的时候,documnet里面根本没有 这两类标签)
http://www.chinavegan.com/
(可以抽出 title、h1标签内容)

原因是:这里写图片描述

这里写图片描述
看到没,下面那张图片里面少了:
这里写图片描述

~~~~~~~~~~~~~~~~~~~~
my god,我笨,我调了那么长时间,终于找到了错误。

然后:
我首先采取,手工 输入这句话,果然 普通页面也可以提取title了。
接着,我天真的以为,
方法一:可以通过 文件 读写的方式,来给每个 普通网页在title标签之前,加上

这句话。结果各种错误,说明这样使不可行的

方法二:
我采用 jsoup的各种方式,企图向head标签后面加入

事实证明是无用的。title标签依旧不在jsoup中。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上两种方法,都没有抓住源头,源头的错误,应该是出现在下载网页的时候。方正,最后我参考了这篇文章,采用java的url,全部读取网页内容,然后使用正则表达式,终于搞定了,成功提取title.
参考的帖子:http://blog.csdn.net/yuyuyuyuy/article/details/6547430

package catchhtml;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class GetHtmlTitle {public GetHtmlTitle(String htmlUrl){System.out.println("/n------------开始读取网页(" + htmlUrl + ")-----------");String htmlSource = "";htmlSource = getHtmlSource(htmlUrl);//获取htmlUrl网址网页的源码System.out.println("------------读取网页(" + htmlUrl + ")结束-----------/n");System.out.println("------------分析(" + htmlUrl + ")结果如下-----------/n");String title = getTitle(htmlSource);System.out.println("网站标题: " + title);}/*** 根据网址返回网页的源码* @param htmlUrl* @return*/public String getHtmlSource(String htmlUrl){URL url;    StringBuffer sb = new StringBuffer();try{url = new URL(htmlUrl);BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));//读取网页全部内容String temp;while ((temp = in.readLine()) != null){           sb.append(temp);}in.close();}catch (MalformedURLException e) {System.out.println("你输入的URL格式有问题!请仔细输入");}catch (IOException e) {e.printStackTrace();}   return sb.toString();}/*** 从html源码(字符串)中去掉标题* @param htmlSource* @return*/public String getTitle(String htmlSource){List<String> list = new ArrayList<String>();String title = "";//Pattern pa = Pattern.compile("<title>.*?</title>", Pattern.CANON_EQ);也可以Pattern pa = Pattern.compile("<title>.*?</title>");//源码中标题正则表达式Matcher ma = pa.matcher(htmlSource);while (ma.find())//寻找符合el的字串{list.add(ma.group());//将符合el的字串加入到list中}for (int i = 0; i < list.size(); i++){title = title + list.get(i);}return outTag(title);}/*** 去掉html源码中的标签* @param s* @return*/public String outTag(String s){return s.replaceAll("<.*?>", "");}public static void main(String[] args) {String htmlUrl = "http://www.157buy.com";new GetHtmlTitle(htmlUrl);}
}

总结:jsoup+httpclient,虽然方便,
但是关键时刻还是得靠 正则表达式+java.url

这篇关于meta标签有毒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/673065

相关文章

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

Spring下自定义xml标签

dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子。 一 编写模型类 1 package com.hulk.testdubbo.model;2 3 public class Hero {4 private String name;5 private int

找出有毒的那一瓶药

找出有毒的那一瓶药 找出有毒的那一瓶药问题描述求解方法二进制编码方法详细示例 找出有毒的那一瓶药 问题描述 有47瓶药,其中只有一瓶有毒。从中毒到死亡时间为4天,问最少准备几只老鼠,在4天时间内找出有毒的药? 求解方法 要在4天内确定有毒药瓶,最少需要 6 只老鼠。以下是如何使用这 6 只老鼠来找出有毒药瓶的方法。 二进制编码方法 药瓶编号: 将47瓶药瓶编号从1到

Struts2常用标签总结--转载

Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于

LLM应用实战: 产业治理多标签分类

数据介绍 标签体系 产业治理方面的标签体系共计200+个,每个标签共有4个层级,且第3、4层级有标签含义的概括信息。 原始数据 企业官网介绍数据,包括基本介绍、主要产品等 企业专利数据,包括专利名称和专利摘要信息,且专利的数据量大。 LLM选型 经调研,采用Qwen2-72B-Instruct-GPTQ-Int4量化版本,占用显存更少,且效果与非量化相当,

Vue 向标签中传入 this

我曾经问过 chatgpt 这个问题,chatgpt 说不行! 但是,chatgpt 说的就算吗? 来试试吧: https://andi.cn/page/621733.html 当然是可以的!

SimD:基于相似度距离的小目标检测标签分配

摘要 https://arxiv.org/pdf/2407.02394 由于物体尺寸有限且信息不足,小物体检测正成为计算机视觉领域最具挑战性的任务之一。标签分配策略是影响物体检测精度的关键因素。尽管已经存在一些针对小物体的有效标签分配策略,但大多数策略都集中在降低对边界框的敏感性以增加正样本数量上,并且需要设置一些固定的超参数。然而,更多的正样本并不一定会带来更好的检测结果,事实上,过多的正样本

纯HTML标签详解

HTML标签很多,可是实际上常用的却就那么十几二十个,很多标签的功能渐渐的被大家忽略了.然后,如果在适当的时候,用一用,还是能在一定程序上给我们的页面设计带来一点小小的方便的.下面这些HTML标签基本上包含了所有现有的标签,花几分钟,一一浏览一下,或许还会小有收获:   :注释标签用来在源文档中插入注释   :告知浏览器文档使用哪种 HTML 或 XHTML 规范   :定义锚,