Truque Javascript? Como o scribd torna difícil copiar e colar texto

19

Ultimamente, tenho visto que o scribd torna muito difícil para os usuários (usuários gratuitos) navegar por um documento hospedado em seu site. Não há capacidade de pesquisar em um documento, muito menos poder fazer o download do mesmo.

Usando javascript, eles carregam páginas sob demanda no navegador e, portanto, o recurso "salvar como" do navegador não ajuda muito.

Para minha surpresa, vi que mesmo copiar / colar cópias de texto rabiscava a área de transferência! Para verificar o que estava errado, desativei o javascript no navegador e carreguei o mesmo documento novamente. Voila, eu vi as bobagens. E assim, parece que o javascript do scribd decodifica de alguma forma o texto sem sentido e o exibe no navegador.

Agora, minha pergunta é: mesmo depois que o javascript está ativado, e o texto é renderizado corretamente no navegador, se eu for olhar os objetos DOM correspondentes ao texto que seleciono, ainda vejo o texto sem sentido.

Então, agora estou confuso. O texto é exibido corretamente para o usuário, mas os objetos DOM ainda contêm sem sentido. Portanto, a pergunta é: que tipo de código / código JavaScript está usando o site, para poder reter a tagarelice nos objetos DOM e ainda renderizar o texto decodificado?

Existe uma maneira de acessar o texto decodificado? Minha intenção não é fazer engenharia reversa do algoritmo para decodificar, mas localizar onde o texto decodificado está sendo armazenado?

O documento de exemplo é:

http://www.scribd.com/doc/143886351/OCP-Upgrade-to-Oracle-Database-12c-Student-Guide-vol-1-Exam-1Z0-060

Veja o que acontece quando você liga / desliga o Javascript!

user2497064
fonte
É meio simples. Eles criaram um visualizador de pdf em javascript. A Mozilla fez algo com o Firefox. Como o visualizador de PDF não está realmente sendo usado para exibir o conteúdo, ele pode controlar quase todos os aspectos da experiência de visualização.
Ramhound

Respostas:

15

Olhe font-familypara o span. Eles usam uma fonte personalizada (neste caso ff6).

Eles devem fazer isso para que mais documentos PDF sejam exibidos corretamente. Como nos documentos PDF, não há exigência de que o texto no documento use um conjunto de caracteres padrão. Ele precisa apenas usar um código que seja mapeado para os glifos na fonte incorporada.

Dan D.
fonte
10

Se você observar o texto exibido versus o "sem sentido", poderá ver que algumas das letras são iguais, enquanto outras são substituídas. Por exemplo, "Mltmrprfsm Jblbemr" é "Enterprise Manager". Com texto suficiente, você poderá criar uma tabela de tradução rápida. Já sabemos que M se traduz em E , L -> N , T , R e P são claros, F -> R , etc. Dado algum tempo, trabalho de detetive e habilidades de programação modestas, pode-se traduzir o documento inteiro.

Obviamente, não há garantia de que o próximo documento usaria a mesma ff6fonte mencionada por Dan D. , portanto, pegar essa fonte para uso local deve ser sua próxima etapa, se você deseja salvar o texto para mais tarde.

MattDMo
fonte
0

Você pode tentar capturar uma captura de tela usando a ferramenta de corte do navegador e, em seguida, usar qualquer um dos sites ocr online disponíveis para convertê-la em texto. Isso deve resolver você.

guy841185
fonte