전에 원하는 사이트의 크롤링이 계속 차단이되서 고민하던중
python 셀레니움으로는 차단없이 크롤링이 되더라.
사실 뭐 셀레니움이 직접 사람이 접속해서 클릭하듯 하는 방법이다보니까
많은 회사들이 막기 어려운 모듈이긴 하다.
노드의 셀레니움은 지금은 모르겠지만 워낙 단점이 많단다..
그래서 서버에서 요청을 받으면 파이썬 파일을 실행시켜 결과값을 받아오는걸 쓸때
spawn을 써봤었다.
사용법은 단순하다.
// js 파일
const spawn = require('child_process').spawn;
const process = spawn('python', ['./python/test.py'])
spawn을 child_process에서 가져오고 process경로와 프로그램을 변수지정해둔다.
test.py파일은 미리 만들어두자.
//pyrhon 파일
print('hello python')
print('바보야')
// 다시 js 파일
process.stdout.on('data', (data)=>{
console.log(data.toString())
});
process.stderr.on('data', (data)=>{
console.error(data.toString())
})
위에선 데이터를 string으로 가져와서 콘솔로 보여준다.
그럼 cmd에
이렇게 파이썬에서 적었던 문구들이 보인다.
여기서!! 한글은 저렇게 깨진다.
해결방법을 예전에 엄청 찾아다녔는데 해결됬는지 안됬는지 기억이안나네
== 찾아보니 그때도 꺠진한글 못고쳤었음 ㅋㅋ
'javaScript > nodeJs' 카테고리의 다른 글
노드js http// 서버열기 (0) | 2022.06.24 |
---|---|
노드js 내장모듈// fs 파일관리 시스템 -1 (0) | 2022.06.23 |
노드js 내장모듈// crypto 해시화(단방향 암호화) (0) | 2022.06.21 |
노드js 내장모듈// url (0) | 2022.06.21 |
노드js 내장모듈// path (0) | 2022.06.18 |