2016-04-08 12 views
0

Ich schreibe einen Code mit Python2.7 für SEOs. Das Programm ist sehr einfach: Geben Sie ein einzelnes Keyword ein und es gibt die Ergebnisse einer Website zurück. Nach dem Schreiben des Codes, kann ich nicht die Liste aller tr mit Klasse normal-row erhalten. Das Programm muss jede Zeile in eine Liste drucken:BeautifulSoup bekommen Inhalt einer Zeile Tabelle

  1. Schlüssel1
  2. key2
  3. key3
  4. etc ..
  5. ...

Aber ich erhalten nur eine leere Zeile . Kannst du mir helfen?

import urllib2  
import requests  
from bs4 import BeautifulSoup  

name=raw_input('Enter the keyword - ') 
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.find_all("tr", {"class":"normal-row"}) 

for item in g_data: 
    print item 

Antwort

1

Die Daten, die Sie extrahieren möchten, befinden sich nicht auf der angeforderten Seite, sondern werden von einem Ajax-Aufruf injiziert.

es zu erhalten, ersetzen Sie Ihre url mit:

url = "http://www.keywordspy.com/research/tab.aspx?name=keyword-similar&q=" + name + "&market=it"