Quando addestrando il mio crawler a raschiare una pagina di Yelp, ottiene tutte le informazioni senza che io faccia nulla, ma quando eseguo il crawler, l'indirizzo non viene riconosciuto, e non registra.L'esecuzione del crawler non ottiene gli stessi dati durante l'allenamento
risposta
dovresti usare xpath per selezionare cosa vuoi su yelp, l'ho già fatto prima per yelp e xpath è più preciso di un allenamento manuale.
Ottenere dati aziendali da Yelp
In questo caso vogliamo ottenere gli indirizzi per le aziende a San Francisco dal sito www.yelp.com.
Analisi del sito
Siamo in grado di ottenere un elenco di aziende che iniziano con la lettera “A” da questa pagina:
http://www.yelp.com/sm/san-francisco-ca-us/a/1
Questa pagina directory ci dice che ci sono 42 pagine di risultati per "A" con un massimo di 80 risultati per pagina.
Questa è una buona notizia.
Creare un'API
ora sto andando a creare un'API per ottenere i dati dalla prima pagina e quindi utilizzare estratto di massa a passare attraverso un elenco di URL a tutte le 42 pagine.
usando la magia, è possibile generare un'API in pochi clic:
- Vai Magic.import.io
- Incolla l'URL della pagina di Yelp (link qui sotto)
- Click “Estrazione di dati”
- Fare clic su “Get API”
- Fare clic su “Copia questo i miei dati”
Ora abbiamo un'API!
(Si noti che se avete bisogno di un maggiore controllo su cosa includere o escludere dal API è possibile utilizzare un estrattore)
Generare un elenco di URL
per generare un elenco di URL che verrà ci permettono di ottenere dati da pagine da 1 a 42 ho intenzione di utilizzare un servizio esterno ospitato presso:
http://texttool.blogspot.co.uk/
Individuare il "generare l'elenco del numero s" strumento e generare un elenco di URL: estratto
http://www.yelp.com/sm/san-francisco-ca-us/a/1
http://www.yelp.com/sm/san-francisco-ca-us/a/2
http://www.yelp.com/sm/san-francisco-ca-us/a/3
http://www.yelp.com/sm/san-francisco-ca-us/a/4
http://www.yelp.com/sm/san-francisco-ca-us/a/5
http://www.yelp.com/sm/san-francisco-ca-us/a/6
http://www.yelp.com/sm/san-francisco-ca-us/a/7
http://www.yelp.com/sm/san-francisco-ca-us/a/8
http://www.yelp.com/sm/san-francisco-ca-us/a/9
http://www.yelp.com/sm/san-francisco-ca-us/a/10
http://www.yelp.com/sm/san-francisco-ca-us/a/11
http://www.yelp.com/sm/san-francisco-ca-us/a/12
http://www.yelp.com/sm/san-francisco-ca-us/a/13
http://www.yelp.com/sm/san-francisco-ca-us/a/14
http://www.yelp.com/sm/san-francisco-ca-us/a/15
http://www.yelp.com/sm/san-francisco-ca-us/a/16
http://www.yelp.com/sm/san-francisco-ca-us/a/17
http://www.yelp.com/sm/san-francisco-ca-us/a/18
http://www.yelp.com/sm/san-francisco-ca-us/a/19
http://www.yelp.com/sm/san-francisco-ca-us/a/20
http://www.yelp.com/sm/san-francisco-ca-us/a/21
http://www.yelp.com/sm/san-francisco-ca-us/a/22
http://www.yelp.com/sm/san-francisco-ca-us/a/23
http://www.yelp.com/sm/san-francisco-ca-us/a/24
http://www.yelp.com/sm/san-francisco-ca-us/a/25
http://www.yelp.com/sm/san-francisco-ca-us/a/26
http://www.yelp.com/sm/san-francisco-ca-us/a/27
http://www.yelp.com/sm/san-francisco-ca-us/a/28
http://www.yelp.com/sm/san-francisco-ca-us/a/29
http://www.yelp.com/sm/san-francisco-ca-us/a/30
http://www.yelp.com/sm/san-francisco-ca-us/a/31
http://www.yelp.com/sm/san-francisco-ca-us/a/32
http://www.yelp.com/sm/san-francisco-ca-us/a/33
http://www.yelp.com/sm/san-francisco-ca-us/a/34
http://www.yelp.com/sm/san-francisco-ca-us/a/35
http://www.yelp.com/sm/san-francisco-ca-us/a/36
http://www.yelp.com/sm/san-francisco-ca-us/a/37
http://www.yelp.com/sm/san-francisco-ca-us/a/38
http://www.yelp.com/sm/san-francisco-ca-us/a/39
http://www.yelp.com/sm/san-francisco-ca-us/a/40
http://www.yelp.com/sm/san-francisco-ca-us/a/41
http://www.yelp.com/sm/san-francisco-ca-us/a/42
Bulk
Ora è possibile utilizzare estratto di massa per ottenere i dati da ciascuno di questi URL in una sola volta.
Per fare questo:
- Vai alla scheda Configura il tuo Yelp API
- selezionare Estrai Bulk dall'elenco a discesa
- Incolla nella lista di 42 URL
- Fare clic su “Esegui Query "
Nota: è possibile che si verifichino alcune query non riuscite. Facendo clic sul testo "X URL non riusciti" puoi riprovare le query non riuscite.
Export
È ora possibile esportare questi dati in un foglio di calcolo, come HTML o JSON.
Ulteriore lettura
http://support.import.io/knowledgebase/articles/669784-getting-company-data-from-yelp
ho avuto più fortuna con http://datascramblr.com come fa tutto per voi automaticamente per Yelp
Hai inviato via email import.io supporto? Sembra che stia succedendo qualcosa di diverso sul lato server quando il crawler import.io va a prendere le informazioni, solo loro potrebbero sapere di cosa si tratta. Ad es .: yelp my richiede un cookie o qualcosa del genere. – CavemanDan
@CavemanDan non c'è niente di sbagliato con l'importazione da quando l'ho fatto prima su yelp, ha solo bisogno di aggiungere manualmente i selettori xpath. –