Ich fange an, Fortschritte auf einem Website-Scraper machen, aber ich habe in zwei Haken geraten. Hier ist der Code zuerst:Website-Scraping mit python3 & beautifulsoup 4
import requests
from bs4 import BeautifulSoup
r=requests.get("http://www.nytimes.com")
soup=BeautifulSoup(r.text)
headlines=soup.find_all(class_="story-heading")
for headline in headlines:
print (headline)
Fragen
Warum ein Sie haben
find_all(class_= blahblahblah)
verwenden Anstatt nurfind_all(blahblahblah)
? Ich weiß, dass diestory-heading
eine Klasse für sich ist, aber kann ich nicht einfach alle HTML mitfind_all
suchen und die gleichen Ergebnisse erhalten? Die Notizen für BeautifulSoup zeigen find_all.a alle Anker-Tags in einem HTML-Dokument zurück, warum wird das gleiche tun?Ist es, weil, wenn ich es versuche, es alle Fälle von "story-heading" innerhalb der HTML finden und diese zurückgeben? Ich versuche Python zu bekommen, um alles in diesem Tag zurückzugeben. Das ist meine beste Schätzung.
Warum bekomme ich all diesen zusätzlichen Junk-Code? Sollten meine Anfragen, alles zu finden, einfach alles im Story-Header-Tag anzeigen? Ich bekomme viel mehr Text als das, was ich gerade versuche zu spezifizieren.
Formatieren Sie Ihren Code als Code und nicht nur normalen Text in der Post, damit wir es lesen können – Keatinge