如何使用页面URL为多个产品页面提取元标签's
How to extract meta tags for multiple product pages using page URL's?
大约有200个产品编号和相关的产品URL。我必须使用JavaScript代码提取每个产品的标题和关键字的元标签,并将它们输出到我计算机中的文件中。怎样
示例:产品编号:D2650,具有产品URL:http://www.sigmaaldrich.com/catalog/product/sigma/D2650?lang=en&区域=美国
- 这与其余199种产品类似。我需要提取所有这些页面的元"关键字"和元"标题"
JS代码的帮助会有所帮助。
根据需要获取元数据的页面集,现有的API可能会很好地提取所需的信息。https://opengraph.io/
这是一个简单的REST API:GET https://opengraph.io/api/1.0/site/<URL encoded site URL>
它适用于使用opengraph标记的页面。对于其他页面,它有时会依赖于获取其他元数据标签信息。您可以在此处使用测试工具测试它在特定页面上可以找到的信息:https://opengraph.io/app/#/调试工具
它在一个项目中对我来说运行得很好,并节省了我连接YQL或进行其他服务器端更改的额外时间。[注意:我和这个产品或它的创建者没有任何关系。我是通过在线研究发现的,并在一个项目中使用了它。]
如果您使用纯javascript,您可以执行以下操作:
var metas = document.getElementsByTagName('meta'); //get all the meta tag elements
//iterate through them
for (i=0; i<metas.length; i++) {
if (metas[i].getAttribute("name") == "keywords") {
console.log(metas[i].getAttribute("content"));
}
else if (metas[i].getAttribute("name") == "description") {
console.log(metas[i].getAttribute("content"));
}
}
如果您使用Jquery:,上面的代码可能会更简单
var keywords = $('meta[name=keywords]').attr("content");
var description = $('meta[name=description]').attr("content");
我已经根据你分享的url的来源给出了代码片段。您可以根据自己的需要对其进行修改。希望它能让你朝着正确的方向开始。
编辑
我可以理解你是一个初学者,但我不会从头到尾发布整个代码,因为有几种方法可以做到这一点,如果你尝试的话,你应该也可以自己学习。没有那么难。
问题的起点应该是用javascript访问远程源的html
。我们通常使用post
或get
请求来执行此操作,但浏览器中通常不允许跨源网络请求。请查看详细阐述此问题的SO回答。
现在,一个简单的解决方法是寻找APIs
,它允许您从在线资源中抓取HTML。YQL(雅虎查询语言)就是这样一个工具,可以让您从远程源"查询"html。他们还有一个非常友好的YQL控制台,它可以生成一个URL,您可以在其中直接发出post
请求并查询html
。它也有很好的文档记录,应该很容易上手。在控制台中尝试以下yql查询:
select * from html where url='http://www.sigmaaldrich.com/catalog/product/sigma/D2650?lang=en®ion=US' and xpath='/html/head/meta'
只要看一下结果,就会发现XML
或JSON
中只返回了meta
标记,并且为yql查询生成了一个自定义URL。因此,只需要对该URL发出get
/post
请求,然后使用我之前发布的代码,前提是数据以正确格式的XML
返回。如果它以JSON
的形式返回,您将不得不简单地解析json,这也应该非常简单。
所有这些现在听起来可能真的很复杂,但如果你认真对待,一步一个脚印,你就能自己解决问题。从学习使用YQL控制台开始,用javascript进行网络请求,然后将它们放在一起。这应该是一个有趣的练习。
- 是否可以自动拉取“随机”;标签“;从一长串文本中提取
- 有没有一种方法可以从两个标签之间提取文本,并以我选择的格式输出
- 我正在从API提取一个包含视频的Object标签.如何在javascript中暂停视频
- 从谷歌标签管理器提取标签
- Chrome扩展程序:从标签中提取关键字不起作用
- 换出特色图片时从缩略图中提取alt/title标签
- jQuery 将不同的文本保存在使用 jquery filter 提取的同一标签中
- Javascript 主题标签正则表达式提取 portlet 名称和页码
- 使用数据值/提取所选“标签”的值
- 用于从锚标签中提取锚文本的 Javascript
- 从 jQuery $.parseXML 中提取 text() 时获取和使用标签的名称
- 如何将文本从 Google 电子表格中的多个单元格提取到网站,每个单元格都位于不同的
标签中
- 如何使用页面URL为多个产品页面提取元标签's
- 如何通过python从源页面中提取javascript创建的隐藏标签
- 修改Breadcrumbs JavaScript以从H1标签而不是URL中提取?绝望的
- 如何使用jQuery从字符串中提取图像标签
- 如何使用javascript提取整个表标签
- 从网页中提取图像源,其中img标签可能会在使用javascript etcq渲染页面时添加
- Div标签代码提取器
- 使用JavaScript将PDF标签提取为CSV文件