
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中根据一段字符串,获取其中的字母,有要求;求个具体代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)