Pergunta

Eu quero rastrear um site com Greasemonkey e saber se há uma maneira melhor para temporariamente armazenar valores do que com GM_setValue.

O que eu quero fazer é rastrear meus contatos em uma rede social e extrair o Twitter URLs de suas páginas de perfil.

Meu plano atual é para abrir cada perfil em sua própria guia, para que ele se parece mais com uma pessoa de navegação normal (ou seja, css, scrits e imagens serão carregados pelo navegador). Em seguida, armazenar o URL do Twitter com GM_setValue. Uma vez que todas as páginas de perfil foram rastreados, criar uma página usando os valores armazenados.

Eu não estou tão feliz com a opção de armazenamento, no entanto. Talvez haja uma maneira melhor?

Eu tenho considerado inserir os perfis de usuário para a página atual para que eu pudesse todos os processos-los com a mesma instância roteiro, mas eu não tenho certeza se XMLHttpRequest parece indistignuishable de pedidos normais iniciado pelo usuário.

Foi útil?

Solução

Eu tive um projeto semelhante em que eu precisava para obter um monte de (dados de linha de nota fiscal) a partir de um site, e exportá-lo para um banco de dados de contabilidade.

Você pode criar um aspx (ou PHP etc) back-end, que processa dados POST e as armazena em um banco de dados.

Todos os dados que você quer de uma única página pode ser armazenado em um formulário (escondido usando propriedades de estilo se você quiser), usando nomes de campo ou ID de identificar os dados. Então tudo que você precisa fazer é tornar a ação forma uma página .aspx e enviar o formulário usando javascript.

(Alternativamente, você pode adicionar um botão de envio para a página, que lhe permite verificar os valores do formulário antes de enviar para o banco de dados).

Outras dicas

Eu acho que você deve primeiro se perguntar por que você quer usar Greasemonkey para o seu problema particular. Greasemonkey foi desenvolvido como uma maneira de modificar a própria experiência de navegação - não como uma teia de aranha. Enquanto você pode ser capaz de obter Greasemonkey de fazer isso usando GM_setValue, eu acho que você vai encontrar a sua solução seja kludgy e difícil de desenvolver. Isso, e que vai exigir muitas etapas manuais (como abrir todas essas guias, limpando as variáveis ??Greasemonkey entre as execuções de seu script, etc).

faz qualquer coisa que você está fazendo exigem a JavaScript na página para ser executado? Se assim for, você pode querer considerar usando Perl e WWW :: mechanize :: Plugin :: JavaScript . Caso contrário, eu recomendo que você fazer tudo isso em um simples script Python. Você vai querer dar uma olhada na urllib2 módulo. Por exemplo, dê uma olhada no código a seguir (note que ele usa cookielib aos cookies de apoio, que você provavelmente irá precisar se o seu script requer que você estar logado em um site):

import urllib2
import cookielib
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
response = opener.open("http://twitter.com/someguy")
responseText = response.read()

Em seguida, você pode fazer todo o processamento que você quer usando expressões regulares.

Você já considerou o Google Gears? Que lhe daria acesso a um banco de dados SQLite local que você pode armazenar grandes quantidades de informação em.

A razão para querer Greasemonkey é que a página seja rastreado faz realmente não aprovar de robôs. Greasemonkey parecia ser o mais fácil maneira de fazer o olhar rastreador legítimo.

Na verdade manchando o rastreador por meio do navegador não torná-lo mais legítimo. Você ainda estão quebrando os termos de uso do site! WWW :: mechanize por exemplo, é igualmente adequado para 'spoof' seu User Agent String, mas isso e rastejando é, se o site não permite aranhas / esteiras rolantes, ilegal!

A razão para querer Greasemonkey é que a página seja rastreado realmente não aprovar de robôs. Greasemonkey parecia ser a maneira mais fácil de fazer o olhar rastreador legítimo.

Eu acho que isso é o mais difícil maneiras imagináveis ??para fazer um olhar rastreador legítimo. Spoofing um navegador web é trivialmente fácil com alguns conhecimentos básicos de cabeçalhos HTTP.

Além disso, alguns sites têm heurísticas que olhar para os clientes que se comportam como aranhas, tão simplesmente fazer pedidos parecer navegador não significa que o não vai saber o que está fazendo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top