@@ -10,35 +10,32 @@ const { formatNumber } = require('../utils/numbers');
1010 */
1111const getExchangeRates = async ( useRegex = false ) => {
1212 const list = [ ] ;
13- const regexTitles = new RegExp ( / ( d o l a r \s { 0 , } t o d a y | b c v | a i r t m | b i n a n c e ) / , 'gi' ) ;
13+ const regexTitles = new RegExp ( / ( d o l a r \s { 0 , } t o d a y | b c v | a i r t m | b i n a n c e | m o n i t o r | p r o m e d i o ) / , 'gi' ) ;
1414
1515 //MonitorDolar nunca ganará
16- const browser = await puppeteer . launch ( { ignoreHTTPSErrors : true } ) ;
16+ const browser = await puppeteer . launch ( { headless : false , ignoreHTTPSErrors : true } ) ;
1717 const page = await browser . newPage ( ) ;
18- await page . goto ( 'https://monitordolarvenezuela.com/ ' , { timeout : 60000 , waitUntil : 'networkidle2' } ) ;
19- await page . waitForSelector ( 'h3 ' , { timeout : 5000 } ) ;
18+ await page . goto ( 'https://exchangemonitor.net/dolar-venezuela ' , { timeout : 60000 , waitUntil : 'networkidle2' } ) ;
19+ await page . waitForSelector ( '.rate-container ' , { timeout : 5000 } ) ;
2020
2121 const body = await page . evaluate ( ( ) => {
2222 return document . querySelector ( 'html' ) . innerHTML ;
2323 } ) ;
2424
2525 let $ = cheerio . load ( body ) ;
2626
27- //MonitorDolar nunca ganará
28- $ ( 'h3' ) . each ( ( index , el ) => {
29- let title = $ ( el ) . first ( ) . text ( ) ;
30- let price = $ ( el ) . first ( ) . next ( ) . text ( ) ;
31- let shouldPush = true ;
27+ //MonitorDolar perdió la batalla, hora de ver ExchangeMonitor
28+ $ ( '.rate-container' ) . each ( ( index , el ) => {
3229
33- //MonitorDolar nunca ganará
34- price = price . match ( / ( [ 0 - 9 ] + \, [ 0 - 9 ] { 2 } ) / i) ;
35- if ( ! price ) {
36- return ;
37- }
38- price = price [ 0 ] ;
39- price = price . replace ( / \. / g, '' ) . replace ( ',' , '.' ) ;
30+ let text = $ ( el ) . first ( ) . text ( ) . match ( / \S + / gi) ;
4031
41- title = title . replace ( '@' , '' ) ;
32+ let condition = text [ 1 ] !== "VES" ;
33+
34+ let title = `${ text [ 0 ] . replace ( / \s + / gi, "" ) } ${ condition ? " " + text [ 1 ] . replace ( / \s + / gi, "" ) : "" } `
35+ let price = `${ text [ 3 + condition ] } `
36+ let shouldPush = true ;
37+ price = price . replace ( ',' , '.' ) ;
38+ title = title . trim ( ) ;
4239
4340 if ( useRegex && ! regexTitles . test ( title ) ) {
4441 shouldPush = false
0 commit comments