[英]How to extract href of a tag in node.js
我正在尝试抓取此页面: https://www.sahibinden.com/kategori-vitrin?date=1day&viewType=Gallery&a5_min=2005&a5_max=2020&category=3530
我需要提取此页面上列出的广告的链接。 我在 yaml 文件中提供了 xpath,然后由 node.js 读取和解释。 在data: "xpath: //html/body/div[4]/div[4]/form/div/div[3]/div[2]"
文件中,我简单地给它这个:它被解释为:
function getxPath(data, path) {
try {
let root = new dom().parseFromString(data);
let results = xpath.select(path, root);
console.log(results);
if (results.length > 0) {
let _results = [];
for (let r of results) {
_results.push(r.textContent);
}
return _results;
}
} catch (exc) {
console.log(exc);
}
return null;
}
我希望能够提取链接,但到目前为止我只得到这样的文本:
Sahibinden_Temiz_Orj Km_Tramersiz_
72.500 TL
Yıl:
2010
KM:
108.000
Renk:
Gri
İlan Tarihi:
03 Haziran 2020
İl / İlçe:
İstanbul / Esenyurt
如何获取链接?
看来您需要修复 XPath 表达式。 您请求div
元素而不是@href
属性。
使用以下 XPath:
//a[@class="classifiedTitle"]/@href
Output:每页 20 个链接。
编辑:在YAML
文件中,用单引号替换双引号,例如:
data: "xpath://a[@class='classifiedTitle']/@href"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.