如何获取特定html代码中的一段文字

如何获取特定html代码中的一段文字,第1张

windowonload = function(){

var doms  = documentquerySelectorAll("q");

for(var i=0;i<domslength;i++){

doms[i]onclick = function(){

var text = thispreviousSibling;

alert(textnodeValue);

}

}

consolelog(documentgetElementById("test"));

} <div>

abcabc:<a class="q">按钮1</a><input type="number"><br />

defdef:<a class="q">按钮2</a><input type="number"><br />

</div>

你需要先给a标签添加一个class,表示只有当点击到这类型的标签才会被触发事件,然后你需要通过previousSibling就能获取到前面的内容

以前总是觉得,爬虫是个很高大上的东西,就像**别人的数据一样。现在才知道,爬虫能爬到的,都是网页上能看到的,说白了就是别人给你看的。

所谓爬虫,就是先获取网页的源代码,然后从源代码中筛选出自己想要的资源,比如网页上的、视频等文件,甚至网页上的文字。接下来,我们就用Python来爬取网页上的。

首先我们先获取网站的源码。

然后就是从万千的源码中解析出自己想要的资源了,我这里想要的是网站上的。

个人觉得,这个爬虫考验的,还是正则表达式的功底,怎么写好正则表达式,才能将所有想要的资源都解析出来,其他的都比较简单。

以下是我从网页上爬下来的部分。

要求1中要去掉所有数字,要求2、3中又要保留数字并进行翻译,所以我两种都写了。具体代码为:

public class Test {

public static void main(String args[]) {

String str = "0as2sw$#3Six";

Systemoutprintln("原字符串:[" + str + "]");

Systemoutprintln("");

//不翻译数字

Set<String> set1 = new LinkedHashSet<>();

for (String s : strsplit("[^A-Z a-z]")) {

if (slength() > 0) {

set1add(s);

}

}

Systemoutprintln("不翻译数字的结果:" + set1);

Systemoutprintln("");

     /因为又要去除非字母和数字(以下简称去杂),又要将去杂结果分离成数字和字母,再翻译数字,整个流程挺麻烦的,索性在去杂之前,先将数字翻译成英文,为了使数字翻译后的英文和原字符串的字母分开,在数字左右添加占位符#,这样的话,形如:[a1b2c3]就会被处理为:[a#one#b#two#c#three#],这样去杂后,就会被分割为:[a,one,b,two,c,three]了。这里定义了枚举值English,用于实现0-9的英文映射,[10]不好映射成[ten],现在只能映射为[one,zero],如果按照题干非要映射为ten的话你再考虑考虑吧/

for (English english : Englishvalues()) {

str = strreplaceAll(englishgetNum() + "", "#" + englishname() + "#");

}

Systemoutprintln("将数字替换为“占位符 + 英文 + 占位符”的中间结果:[" + str + "]");

Systemoutprintln("");

     //翻译数字的结果

Set<String> set2 = new LinkedHashSet<>();

for (String s : strsplit("[^A-Za-z]")) {

if (slength() > 0  ) {

//判断当前字符串是否是数字的英文,如果不是,就把它拆成单字母

if (mappingEnglish(s)){

set2add(s);

}else {

for (char c : stoCharArray()) {

set2add(StringvalueOf(c));

}

}

}

}

Systemoutprintln("翻译数字的结果:" + set2);

}

 //判断当前字符串是否是数字的英文

private static boolean mappingEnglish(String str) {

for (English english : Englishvalues()) {

str = strtoLowerCase();

if (englishname()equals(str)) {

return true;

}

}

return false;

}

 enum English {

zero(0),

one(1),

two(2),

three(3),

four(4),

five(5),

six(6),

seven(7),

eight(8),

nine(9);

private int num;

public int getNum() {

return num;

}

English(int num) {

thisnum = num;

}

}

}

我怕发出来代码又挤在一起,顺便也截个图:

8-21行

22-50行

51-61行

62-85行完

运行结果:

windowtopbdocumentwrite(windowtopbdocumentdocumentElementinnerTextreplace(/\s/g,'<br>'));

你可以先从mysql读取出来作为变量,使用strip_tags过滤掉变量的 html,div等相关的代码,把纯文本内容显示在你的div中,如果内容纯文本过多,你可以截取前面某些汉字 作为内容导读,再超级连接到详细页面!!!

<php

$str = $vars; //你的mysql读取出来的html变量;

$str = strip_tags($str ); //过滤掉 html,div等相关的代码

echo '<div>'$str '</div>'; //显示出纯文本内容;

//或者, 显示前面部分汉字作为导读。

echo '<div>'substr($str,0, 100) '</div>'; //显示出前50个纯文本汉字

>

以上就是关于如何获取特定html代码中的一段文字全部的内容,包括:如何获取特定html代码中的一段文字、python3.9。在网页源代码中爬取的汉字代码如何转换回汉字、java中根据一段字符串,获取其中的字母,有要求;求个具体代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9478533.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存