Debian Jessie의 브라우저 이외의 애플리케이션에서 스크래핑

Debian Jessie의 브라우저 이외의 애플리케이션에서 스크래핑

자동화된 거래 시스템을 구축하려고 생각 중입니다.
아마 주문장과 주문내역 정보를 txt 형식으로 제공하는 서비스는 없을 것 같아요.

그래서 괄사를 해야 해요.

프로그래밍 방식으로 브라우저 외부의 응용 프로그램에서 텍스트 데이터를 자동으로 추출하는 것이 가능한지 궁금합니다.

출력 파일을 얻고 싶습니다 ~/Desktop/foo.txt. 예를 들어,
터미널에서 스크롤할 줄이 100줄을 초과하는 경우 + / ]와 [편집 및 복사]를
사용하지 않고 터미널 출력을 잡아낼 수 있습니까 ?ctrlcv

두 번째 예, Libre Office Impress의 슬라이드 쇼 모드에서 많은 슬라이드가 나타날 때 모든 텍스트 데이터를 캡처할 수 있습니까?

다른 모든 응용 프로그램에 적용되는 방법을 알고 싶습니다.
스크린샷 + OCR 외에 다른 방법이 있나요?
그러한 기능을 제공하는 패키지는 무엇입니까?

답변1

그런 도구가 존재하지 않는 것 같습니다. 귀하의 아이디어는 기본적으로 각 응용 프로그램에서 작성한 모든 텍스트를 로그 파일에 기록하는 것입니다. 이를 위해서는 모든 애플리케이션에 대한 공통 시스템 인터페이스가 필요하므로 해당 로깅에 대한 후크를 설정할 수 있습니다.

그러나 응용 프로그램은 렌더링을 위해 모든 라이브러리를 자유롭게 사용하거나 자체 렌더링을 구현하거나 GPU에서 렌더링하거나 비트맵을 복사할 수 있습니다. 이 경우 모든 애플리케이션에 대한 유일한 공통 인터페이스는 윈도우 시스템(예: X)입니다. 이 시스템에서는 픽셀 변경만 볼 수 있으며 해당 픽셀은 실제로 영구적으로 OCR 처리되어야 합니다. 이는 불가능합니다.

원하는 것에 가장 가까워지기 위해 할 수 있는 일은 FreeType 라이브러리를 수정하여 FreeType에서 렌더링된 모든 텍스트 조각을 기록하는 것입니다. 여기에는 많은 Linux 애플리케이션이 포함되지만 전부는 아닙니다. FreeType에 공백이 전달되지 않으면 창이 위로 스크롤되고 여러 응용 프로그램이 동시에 실행되므로 혼란스러운 출력이 많이 생성될 것으로 예상됩니다.

관련 정보