<설명>
Javascript 의 puppeteer 라이브러리를 활용하여 크롤링하는 기본 예제다.
여기선 puppeteer 를 사용하였다.
<코드>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// const webcrw = require('파일 경로')
// webcrw 에서 exports 에 들어간 <key, value> 가
// require 함수의 output으로 나옴
// require 의 전체 구성 코드
/*
const require = function(src) {
let foleAsStr = readFile(src);
let module.exports = {};
const 'key 값' = 'value 값';
exports.'key 값' = 'key 값';
retrun module.exports;
}
*/
const puppeteer = require("puppeteer");
const run = async() => {
try {
const browser = await puppeteer.launch({
args: ["--no-sandbox"],
});
const page = await browser.newPage();
// 크롤링 타겟 웹페이지
const url = "https://investor.vanguard.com/etf/profile/BNDX";
// 크롤링 타겟 section
// browser 내 '개발자 도구(F12)' 기능인 'select an element' 를 통해 가져온 소스
// 'select an element' 를 하고 원하는 UI를 선택하면 code source 에서 해당 코드를 선택
const selector =
"#overviewContainer > div.row.component-block.funds-section.component-block-margin-medium.ng-scope > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div > table > tbody > tr:nth-child(1) > td.ng-scope.right > div > span.ng-scope.ng-binding.sceIsLayer.arrangeSec";
await page.goto(url);
await page.waitForSelector(selector);
data = await page.$eval(selector, (element) => element.textContent);
console.log(data);
} catch(e) {
console.log(e);
}
};
run();
|
cs |
'Project > JavaScript' 카테고리의 다른 글
[JavaScript] 웹 스크래핑(Web Scraping) 예제(2) (0) | 2022.07.06 |
---|---|
[JavaScript 프로젝트 : 공학용 계산기] 공학용 계산기 upgraded (0) | 2022.01.26 |
[JavaScript 프로젝트 : 공학용 계산기] 중복 연산자 제거 (0) | 2022.01.19 |
[JavaScript 프로젝트 : 공학용 계산기] 기본 공학용 계산기 (0) | 2022.01.19 |
댓글