How to screen scrape from another program

2019-06-14 11:35发布

问题:

I need to automatically get data from a software to a file. However, I only get search results for web scraping when I did my research. So, is there a way to get data from a local desktop application that does not have export function? I need some local-desktop-application sort of scraping.

For example, since a local desktop application such as Windows media player (random example) does not have an export function to put its music library data to a file, what do you need to create a program so you could export those data?

回答1:

The short answer is that there isn't a way to read another app's files unless they are in a compatible format (txt,csv,etc). It sounds like you're wanting to OCR a screen capture.

This might give you something to work from: OCR a screen capture

Some apps (like iTunes) save their library files in some proprietary XML format. The file may not end in ".xml", but it's still a XML file, in which case you can parse it to get what you need.



回答2:

The answer to your question is going to be determined by answering this question: Are you talking about being able to export data from ANY arbitrary program, or just from a specific one?

  • If you are looking to get data out of any program out there, then the answer is that there is no silver bullet. There is no catch-all solution to this problem, because each program is going to have data stored in it's own format (some of which may be encrypted!)

  • If you are looking to export data out of a single program that you are using, do you have a spec of exactly how the data is stored, or BETTER YET, have access to an API or a libary which communicates with the data storage engine that the app is using? If so, this would save you a tremendous amount of time. If not, you need a spec that describes how to access the database or open and parse the data file.