Ich habe versucht, die Schlagzeilen von Yahoo! Finanzseite für einzelne Aktien. Zum Beispiel wollte ich die Schlagzeilen für GOOGL bekommen, aber ich kann nicht den richtigen CSS-Selektor für BeautifulSoup finden, um zu kratzen. Irgendwelche Ideen? Ich habe mehrere Varianten des unten stehenden Codes ausprobiert und meinen Selektor durch "a", "href", "# yui_3_9_1_8_14597414146422_44", "li", "ul" usw. ersetzt. Ich habe meine letzte Iteration mit dem "a" -Tag verlassen was, ich weiß, gibt Ihnen alle Links der Seite, nicht nur die Überschriften.Scrapping Schlagzeilen aus Yahoo! Finanzen mit Python3
import re
import requests
from bs4 import BeautifulSoup
URL = 'http://finance.yahoo.com/q?s=GOOGL'
res = requests.get(URL)
res.raise_for_status()
content = res.content
soup = BeautifulSoup(content, 'html.parser')
print(soup.select('a'))
http://finance.yahoo.com/q/h?s=GOOGL&t=2016-04-03T21:02:10-04:00
Dies ist, was ich bekomme, wenn ich versuche, die Wähler zu kopieren (ich habe Chrome, die eingebaute in Inspector verwendet): # yui_3_9_1_8_1459741486422_44. Versucht jede Variation, die ich für diese ID denken konnte, nichts hat funktioniert.
Die API, ystockquote, hat keine Funktion, mit der Sie leicht die Schlagzeilen bekommen, glaube ich nicht ...?
wie ein Charme, danke. Zwei weitere Fragen: 1) Wie können Sie feststellen, dass die Überschrift in diesem div enthalten ist? Und 2) wie würde ich dann über den eigentlichen Hyperlink gehen? – dataelephant
@Harel stellen Sie bitte sicher, dass die Überschrift Artikel die gleichen sind, wie Sie im Browser sehen - ich bin immer noch nicht sicher, dass dies die vollständigen und genauen Überschriften erhalten würde. Der eigentliche Hyperlink ist über 'link [" href "]' verfügbar. – alecxe