CSS选择器代码,用于从棘手的网站抓取/解析数据
css selector code to scrape/parse data from tricky website
我很难开发一个足够的"CSS选择器"代码来抓取/解析以下HTML的几率。我对node.js相对较新。但是我过去成功地抓取了类似的网站。不幸的是,这个网站有点棘手(无论如何对我来说!我可以说问题一定是我使用的CSS选择器代码。你能告诉我如何编写一个代码,让我从中刮取赔率 11/2
。<div class="market"..............>
<header class=..........>
<div class="market-content">
<div class ="selection">
<div class="selection name" data- bind="html:selection.getTitle()"> Aston Villa </div>
<selection-button params="....>
<div>
<div class="odds-button"..........>
<span class="price">
<span class="odds-convert"......> 11/2 </span>
很难只用那段HTML来说,但为此(使用jQuery):
$('.odds-button > . price > .odds-convert').text();
当然,也可能是选择器在其他地方匹配,然后您必须通过包含更长的路径来使其更具体。但是,如果 HTML 的结构发生变化,从一开始就使其过于具体会使它太脆弱。
我不知道你是如何抓取 Node.js 中的内容的,你正在使用哪些库或技术,但这就是我在客户端的做法:
var oddsElement = document.querySelector([
".market",
".market-content",
".selection",
// obviously, change below to match your data attribute
".selection.name[data-SOME_KEY='"SOME_VALUE'"]",
".odds-button",
"span.price",
"span.odds-convert"
].join(" "));
if (typeof oddsElement === "object") {
var odds = (oddsElement.textContent || oddsElement.innerText);
// or could use "let" keyword in strict-mode Node.js for block-scope
} else { // no match
console.warn("Odds cannot be found.");
}
相关文章:
- 如何从网站上抓取链接和图片
- Html抓取网站加载错误的J汤Java
- 如何获取网站所有页面的链接以进行数据抓取
- 我如何从一个无限滚动的网站抓取图像,其中api是隐藏的,我无法通过使用Inspect Element获得它->网络
- PHP:如何基于Javascript抓取网站内容
- 以类似于谷歌机器人的方式抓取网站html和javascript
- 如何抓取使用直接Web远程处理(DWR)返回操纵页面的Javascript的网站's的HTML
- 用Ruby抓取一个Javascript很重的网站
- 试图在网站上抓取谷歌地图api生成的动态数据,但正常抓取返回空白
- JS滑块网站 - 谷歌抓取
- 如何使用无限滚动抓取网站
- 抓取网站.无法在抓取期间自动执行用户单击
- 抓取网站失败是因为javascript没有启用
- 如何抓取网站内容(*COMPLEX* iframe, javascript提交)
- 使用zombie.js抓取网站的问题
- Python抓取网站得到Apache Tomcat/6.0.36 -错误报告
- 抓取网站's的每一个页面与谷歌应用程序脚本
- 如何使用phantomjs抓取网站
- 抓取网站并将表格插入到我自己的 HTML 文档中
- 如何使用node.js与ASP和AJAX抓取网站