Bugfix/fix exception in scraper configuration (#4196)
* Fix exception in scraper configuration * Update changelog
This commit is contained in:
parent
9fe19868b9
commit
ec79a9efb6
@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fixed an issue with the renaming of activities with type `FEE`, `INTEREST`, `ITEM` or `LIABILITY`
|
- Fixed an issue with the renaming of activities with type `FEE`, `INTEREST`, `ITEM` or `LIABILITY`
|
||||||
|
- Handled an exception in the scraper configuration introduced by the migration from `got` to `fetch`
|
||||||
|
|
||||||
## 2.133.1 - 2025-01-09
|
## 2.133.1 - 2025-01-09
|
||||||
|
|
||||||
|
@ -273,38 +273,36 @@ export class ManualService implements DataProviderInterface {
|
|||||||
private async scrape(
|
private async scrape(
|
||||||
scraperConfiguration: ScraperConfiguration
|
scraperConfiguration: ScraperConfiguration
|
||||||
): Promise<number> {
|
): Promise<number> {
|
||||||
try {
|
let locale = scraperConfiguration.locale;
|
||||||
let locale = scraperConfiguration.locale;
|
|
||||||
const response = await fetch(scraperConfiguration.url, {
|
|
||||||
headers: scraperConfiguration.headers as HeadersInit,
|
|
||||||
signal: AbortSignal.timeout(
|
|
||||||
this.configurationService.get('REQUEST_TIMEOUT')
|
|
||||||
)
|
|
||||||
});
|
|
||||||
|
|
||||||
if (response.headers['content-type'].includes('application/json')) {
|
const response = await fetch(scraperConfiguration.url, {
|
||||||
const data = await response.json();
|
headers: scraperConfiguration.headers as HeadersInit,
|
||||||
const value = String(
|
signal: AbortSignal.timeout(
|
||||||
jsonpath.query(data, scraperConfiguration.selector)[0]
|
this.configurationService.get('REQUEST_TIMEOUT')
|
||||||
);
|
)
|
||||||
|
});
|
||||||
|
|
||||||
return extractNumberFromString({ locale, value });
|
if (response.headers['content-type']?.includes('application/json')) {
|
||||||
} else {
|
const data = await response.json();
|
||||||
const $ = cheerio.load(await response.text());
|
|
||||||
|
|
||||||
if (!locale) {
|
const value = String(
|
||||||
try {
|
jsonpath.query(data, scraperConfiguration.selector)[0]
|
||||||
locale = $('html').attr('lang');
|
);
|
||||||
} catch {}
|
|
||||||
}
|
|
||||||
|
|
||||||
return extractNumberFromString({
|
return extractNumberFromString({ locale, value });
|
||||||
locale,
|
} else {
|
||||||
value: $(scraperConfiguration.selector).first().text()
|
const $ = cheerio.load(await response.text());
|
||||||
});
|
|
||||||
|
if (!locale) {
|
||||||
|
try {
|
||||||
|
locale = $('html').attr('lang');
|
||||||
|
} catch {}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
|
||||||
throw error;
|
return extractNumberFromString({
|
||||||
|
locale,
|
||||||
|
value: $(scraperConfiguration.selector).first().text()
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user