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!


É 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.


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.


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ê.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.