我如何从网站复制文本并在我自己的HTML文件中使用它
How can I copy text from a website and use it in my own HTML file
我正在制作一个网站来查找航班的价格。每次我加载我的HTML文件,我必须复制价格从另一个网站,不是我的,并插入到我的HTML文件。
另一个网站的源代码表明,我正在寻找的标签是一个span标签,如<span class="amount price-amount">250</span>
所以问题是:我如何复制或提取信息,并使用它或插入它在我的HTML文件?
我想解决它使用HTML, CSS, JavaScript和/或Bootstrap。
客户端web抓取
您可以使用页面剥离来完成此操作。至少我是这么说的。一个基本的例子是:
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,它可能具有CORS
使用web-scraper;我推荐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.
}
}
使用inspect element,通过右键单击并单击inspect element来实现。然后会有一个带箭头的方框指向左上角,这就是搜索点击吧。然后选择页面上你想要的部分,然后它就会加载它,这样你就可以复制粘贴它了
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 导入jQuery脚本获胜'我不处理html文件
- 生成pdf或其他非html文件时的错误处理
- 从HTML调用typescript文件中的函数
- 使用metro-uiJS对话框调用其他文件html
- 使用选项卡导航到不同的html文件(html、JavaScript)
- 使用 socket.io 时如何发送文件(html,js,css和资源)
- 采购<p>从.txt文件.HTML
- 包含的html中的类无法访问父文件html中的函数
- 重新加载链接文件 HTML
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- Angularjs + 指令文件 html 内容点击事件在 js 文件中不起作用
- 如何直接从网页读取/写入本地文件 (html)
- jQuery加载txt文件.html()
- 指定简单配置文件HTML或javascript的最佳方式是什么
- Angular将所有头文件html提取到一个文件中
- 想要部分上传大文件.HTML/PHP
- AJAX -上传文件(HTML 5) &PHP