亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

抓取腳本標簽內的數據并隔離元素

抓取腳本標簽內的數據并隔離元素

慕神8447489 2022-06-16 15:53:33
我在腳本標簽內抓取數據時遇到了一些問題。我想獲取 jsonSwatchConfig [ ] 中的數據,特別是每個 'option_id' 和 'us' 屬性。var jar = require('request').jar();var request = require('request').defaults({ jar: jar });var cheerio = require("cheerio");var cloudscraper = require('cloudscraper');var fs = require('fs');const logT = require('log-timestamp');var open = require('open');var today = new Date();var randomsize;var webdriver = require('selenium-webdriver');var request = require("request")var cheerio = require("cheerio")var sizes =[]function product() {    console.log("Obtaining Product Page..")    request.get({        url: 'https://www.sivasdescalzo.com/en/nike-air-max-270-react-eng-cd0113-400',        jar: request.jar(),        headers: {        'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',        'accept-encoding': 'gzip, deflate, br',        'accept-language': 'it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7,pt;q=0.6,fr;q=0.5,de;q=0.4',        'cache-control': 'max-age=0',        'dnt': '1',        'referer': 'https://www.sivasdescalzo.com/en/lifestyle',        'sec-fetch-dest': 'document',        'sec-fetch-mode': 'navigate',        'sec-fetch-site': 'same-origin',        'sec-fetch-user': '?1',        'upgrade-insecure-requests': '1',        'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'},         cloudflareTimeout: 5000,         cloudflareMaxTimeout: 30000,         followAllRedirects: true,         //proxy: getproxy(),         challengesToSolve: 3,         json: true,         decodeEmails: false,         gzip: true,    }, 我嘗試了很多次,但我沒有找到一種方法來獲得我想要的東西。使用拆分和刪除。
查看完整描述

1 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

使用一個怎么樣RegExp?


var pattern = /"jsonSwatchConfig": (\[.*\])/;

var results = scriptText.match(pattern)[1];

編輯:要提取option_id和us屬性,您首先必須將其從字符串轉換為對象。上面的代碼將數組 jsonSwatchConfig 作為字符串提供給您,而不是作為實際的對象數組,所以您可以做的是(繼續上面的代碼):results = JSON.parse(results)現在將數據作為對象數組提供給您。要訪問特定屬性,您可以執行以下操作


results.forEach(result => {

    var x = result.option_id;

    var y = result.us;

    console.log({ x, y });

});


查看完整回答
反對 回復 2022-06-16
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號