Forum
>>
Principianti
>>
[RISOLTO] Parsing di html con beautifulsoup
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da alex1986 |
2016-04-08 20:33:30 - [RISOLTO] Parsing di html con beautifulsoup
|
Ciao a tutti, sono un principiante e sto imparando python grazie ai tutorial e a dei piccoli programmi da me creati.
In un programma per scopi lato SEO inserisco una keyword e il programma, interfacciandosi su un sito di tool SEO gratuito (keywordspy.com) mi restituisce tutte le parole chiave trovate. Questo è il codice, ma purtroppo il programma non mi restituisce nulla import urllib2 import requests from bs4 import BeautifulSoup name=raw_input('Enter the keyword. Try it - ') url = "http://www.keywordspy.com/research/search.aspx?q=" +name+ "&type=keywords&market=it#/tab=keyword-similar" r = requests.get(url) soup = BeautifulSoup(r.content, "html.parser") g_data = soup.findAll('td', { "class" : "keyword" }) for tr in g_data: print tr --- Ultima modifica di Daniele aka Palmux in data 2016-04-09 10:13:10 --- |
|
Scritto da Daniele aka Palmux |
2016-04-09 01:08:28 - Re: Parsing di html con beautifulsoup
|
Non uso BeautifulSoup4, ma a parte la sintassi non correttamente indentata, mi sembra non ci siano errori. A questo punto penso semplicemente che quanto stai cercando di "parsare" non sia presente o non sia correttamente richiesto, alternativamente la pagina restituita sul browser potrebbe essere diversa da quella poi ottenuta?
Prova a fare una verifica ed utilizzare anche .find_all per cercare il termine di tuo interesse, ho fatto una veloce prova (su un altra risorsa) e sembra funzionare egregiamente. Fai sapere. Daniele |
|
Scritto da alex1986 |
2016-04-09 09:22:22 - Re: Parsing di html con beautifulsoup
|
ciao, grazie della tua risposta..Ho trovato la soluzione: innanzitutto listo il codice
import urllib2 import requests from bs4 import BeautifulSoup name=raw_input('Enter the keyword. Try it - ') url = "http://www.keywordspy.com/research/tab.aspx?name=keyword-similar&q=" + name + "&market=it" r = requests.get(url) soup = BeautifulSoup(r.content, "html.parser") g_data = soup.find_all('td', { "class" : "keyword" }) for tr in g_data: print trCome puoi vedere, l'url era sbagliata; i dati richiesti non sono presenti nella url iniziale perchè si tratta di dati restituiti tramite una chiamata ajax. Grazie dell'aiuto comunque |
|
Scritto da larosacristian |
2017-03-29 18:49:55 - Re: [RISOLTO] Parsing di html con beautifulsoup
|
Ciao alex1986, capito ora su quest discussione mi potresti dire in che modo hai risolto per prelevare l'url corretto con l'esecuzione gia avvenuta degli script ajax?
grazie in anticipo ciao |
Pagina: 1
Esegui il login per scrivere una risposta.