我正在建立一个网站来查找航班价格。每次加载我的HTML文件时,我都必须从另一个不是我的网站复制价格并将其插入我的HTML文件中。
其他网站的源代码表明我要查找的代码是span标记,例如<span class="amount price-amount">250</span>
所以问题是:我如何复制或提取该信息并使用它或将其插入我的HTML文件中?
我想使用HTML,CSS,JavaScript和/或Bootstrap来解决它。
答案 0 :(得分:1)
使用网络刮刀;我推荐request
和cheerio
。假设您拥有Node JS
并知道如何安装软件包。
这是一个简单的示例代码:
var request = require('request');
var cheerio = require('cheerio');
request(this.url, function(error, response, body) {
if (!error && response.statusCode == 200) {
// body is the scraped html
$ = cheerio.load(arg); // the jQuery-like selector
var price = $('span.price-amount').text(); // the price you want. Use the selector accordingly.
}
}
答案 1 :(得分:1)
您可以使用页面剥离执行此操作。至少这就是我所说的。一个基本的例子是:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
var doc = document.createElement('div');
doc.innerHTML = xhr.responseText;
var elems = doc.getElementsByTagName('*'),
prices = [];
for (var i = 0; i < elems.length; i += 1) {
if ((elems[i].getAttribute('class')||'').indexOf('price-amount') > -1 && (elems[i].getAttribute('class')||'').indexOf('amount') > -1) {
prices.push(elems[i].innerHTML);
}
}
}
};
xhr.open('GET', 'airlinesite.com/path/to/page', true);
xhr.send();
这将从airlinesite.com/path/to/page
获取HTML。然后它将获得所有元素。循环通过它们。如果它有一个类amount
和price-amount
,它会将它存储在一个数组中。这些值将存储在prices
。
为此,目标域必须具有CORS,它可能具有
答案 2 :(得分:-3)
使用inspect元素,右键单击并单击inspect元素。然后会在左上角有一个带箭头的方框,这是搜索点击它。然后在页面上选择您想要的部分,然后加载它,这样您就可以复制并粘贴它。