能用java相关技术解析Html页面,批量获取页面内容对应的xpath吗

能用java相关技术解析Html页面,批量获取页面内容对应的xpath吗,第1张

>urls = driverfind_elements_by_xpath("//a")

for url in urls:

    print(urlget_attribute("href"))

如果get_attribute方法报错应该是没有找到a标签对象,如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间;另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。

//a[@href="/wt/common/wangyicom"] 这个定位到节点,

得到节点node 取InnerText

// var goodName= docDocumentNodeSelectSingleNode("//h3[@class='goods-title']");

// // MessageBoxShow(goodNameInnerText);

你这个用正则工具可以提取,具体参考下面截图,如果你想要采集链接的地址,其实根本不用这么复杂的来看网页源代码,就用我截图中用到的八爪鱼采集器,可视化的,要提取链接的话,直接点击网页上的链接,会d出一个选项问你是否要采集链接,你选择采集链接即可。

第一种方法,正则表达式。如下所示

string reg = @"<a[^>]href=([""'])(<href>[^'""]+)\1[^>]>";

var item = RegexMatch(str, reg, RegexOptionsIgnoreCase);

ConsoleWriteLine(itemGroups["href"]Value);

第二种使用htmlagilitypack的xpath进行提取

HtmlNodeCollection atts = _docDocumentNodeSelectNodes("//a[@href]");

一般在使用爬虫时都会用自有的框架进行数据提取和分离。其中正则比较简洁和高效。但需要提前调试好。第三方控件使用起来比较容易而且还有其他功能可以辅助使用。

你选择超级链接的文件时,系统会自动选择是用相对路径还是用绝对路径的。如果你选择链接的目标文件与源文件在同一文件夹或子文件夹下,系统会自动将路径表示为相对路径的。如果目标文件与源文件在不同的磁盘,系统会自动将路径表示为绝对路径。你自己做两个实验观察一下。

以上就是关于能用java相关技术解析Html页面,批量获取页面内容对应的xpath吗全部的内容,包括:能用java相关技术解析Html页面,批量获取页面内容对应的xpath吗、用python selenium提取网页中的所有<a>标签中的超级链接地址、xpath定位一段文字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9569516.html

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

发表评论

登录后才能评论

评论列表(0条)

保存