JavaScript:如何在字符之间推送字符串?
我正试图从一个看起来像这样的网站上搜集数据。它在一个td中有4行信息,我需要帮助,我希望最终结果在JSON文件中如下所示:JavaScript:如何在字符之间推送字符串?,javascript,html,regex,object,html-table,Javascript,Html,Regex,Object,Html Table,我正试图从一个看起来像这样的网站上搜集数据。它在一个td中有4行信息,我需要帮助,我希望最终结果在JSON文件中如下所示: { "mainTitle" : "Main Title" "subTitle" : "Sub Title here" "address1" : "Address Part One" "address2" : "Address Part Two" "postalCode" : "666666" "telNo" : "12345678" } HTML: 您可以通过
{
"mainTitle" : "Main Title"
"subTitle" : "Sub Title here"
"address1" : "Address Part One"
"address2" : "Address Part Two"
"postalCode" : "666666"
"telNo" : "12345678"
}
HTML:
您可以通过使用新行字符拆分文本来获取这些值
function parseInfo () {
const result = {};
const enterRow = $('.contentpage > table').first().find('tr');
result.mainTitle = enterRow.eq(0).text().trim();
result.subTitle = enterRow.eq(1).find('td > strong').text().trim();
let elements = enterRow.eq(1).find('td').text().trim().split('\n');
let filteredElements = elements.filter(val => val.replace(/\s/g, '').length).map(val => val.trim());
result.addressOne = filteredElements[1];
result.addressTwo = filteredElements[2];
result.addressCode = filteredElements[3];
result.telNumber = filteredElements[4];
return result;
}
我的小提琴:试着像这样分割TD
var row_items = enterRow.split("<br>")
为您想要获取的每个元素添加一个ID,然后通过其ID调用该元素并获取其innerHTML。如果你想要一个例子,请让我知道。我试图从中获取的HTML不是我的,它是一个公共网站。它的格式就像我上面写的那样。也许你应该抓取整个
td
,其中包括字幕(不仅仅是strong
),然后执行字符串操作来检索其余的信息。
function parseInfo () {
const result = {};
const enterRow = $('.contentpage > table').first().find('tr');
result.mainTitle = enterRow.eq(0).text().trim();
result.subTitle = enterRow.eq(1).find('td > strong').text().trim();
let elements = enterRow.eq(1).find('td').text().trim().split('\n');
let filteredElements = elements.filter(val => val.replace(/\s/g, '').length).map(val => val.trim());
result.addressOne = filteredElements[1];
result.addressTwo = filteredElements[2];
result.addressCode = filteredElements[3];
result.telNumber = filteredElements[4];
return result;
}
var row_items = enterRow.split("<br>")
for (var i = 0; i < row_items.length; i++) {
row_items[i] = row_items[i].replace("<strong>", "").replace("</strong>", "").replace(/"/g, "")
}
result = {}
result["mainTitle"] = row_items[0]
result["subTitle"] = row_items[1]
...