wollen helfen? Hier sind Ihre Möglichkeiten:","Crunchbase","Über uns","Vielen Dank an alle für die großartige Unterstützung!","Schnelle Links","Partnerprogramm","Prämie","ProxyScrape Premium-Testversion","Proxy-Typen","Proxy-Länder","Proxy-Einsatzfälle","Wichtig","Cookie-Politik","Haftungsausschluss","Datenschutzbestimmungen","Bedingungen und Konditionen","Soziale Medien","Facebook","LinkedIn","Twitter","Quora","Telegramm","Diskord","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgien | VAT BE 0749 716 760\n"]}
In der heutigen Welt macht jeder von den neuen Technologien Gebrauch. Mit Hilfe von Web Scraping können Sie auf automatisierte Weise Zugang zu strukturierten Daten erhalten. Zum Beispiel können Sie Web Scraping für verwenden: Infinite Scrolling, auch bekannt als endloses Scrollen, ist eine Webdesign-Technik, die Websites oft mit AJAX oder Javascript verwenden
In der heutigen Welt macht jeder von den neuen Technologien Gebrauch. Mit Hilfe von Web Scraping können Sie auf automatisierte Weise Zugang zu strukturierten Daten erhalten. Zum Beispiel können Sie Web Scraping für:
Unendliches Scrollen, auch bekannt als endloses Scrollen, ist eine Webdesign-Technik, die Websites oft mit AJAX oder Javascript verwenden, um zusätzliche Inhalte dynamisch zu laden, wenn der Benutzer bis zum unteren Ende der Webseite scrollt. Diese Technik wurde durch ihren Erfolg auf Social-Media-Seiten populär. So wird beispielsweise das unendliche Scrollen bei Twitter durch asynchrones Laden erzeugt. Twitter führt AJAX-Aufrufe durch, nachdem die Seite geladen wurde, um beim Scrollen kontinuierlich neue Inhalte hinzuzufügen. Obwohl das unendliche Scrollen viele Vorteile hat, ist es für zielgerichtete Suchaufgaben, bei denen bestimmte Inhalte gefunden werden müssen, nicht zu empfehlen.
Lassen Sie uns zunächst die Vorteile des Scannens von Seiten mit unendlichem Scrolling verstehen.
Im Folgenden sind einige der Gründe für das Scrapen von Seiten mit unendlichem Scrolling aufgeführt.
Abgesehen von den oben genannten Vorteilen des Scannens von Seiten mit unendlichem Scrolling gibt es auch einige Nachteile wie:
Sehen wir uns an, wie man mit Python unendlich scrollende Seiten mit Hilfe der unten aufgeführten Schritte scrapen kann.
Sie müssen die Selenium-Bibliothek importieren.
from selenium import webdriver
von selenium.webdriver.common.keys importieren Schlüssel
importieren Zeit
Hier müssen Sie den Browser auswählen, den Sie verwenden möchten. Wir werden uns für Chrome entscheiden, da er mehr Möglichkeiten bietet als Firefox.
def get_selenium():
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--incognito')
options.add_argument('headless')
driver = webdriver.Chrome(chrome_options=options)
return (Treiber)
Das oben erwähnte Headless-Argument ist ziemlich wichtig. Selenium öffnet Chrome nicht in einem neuen Fenster, wenn es headless in Python läuft. Wenn Sie jedoch beim Scraping auf ein Problem stoßen, können Sie die headless-Option kommentieren und sehen, was in Chrome vor sich geht und was auf der Seite geladen wird.
Wir können die beiden Flaggen ignore-certificate-errors und incognito weglassen.
Wenn Sie auf ein Captcha oder ein Cookie-Banner stoßen, das das Laden Ihrer Seite verhindert, können Sie auf OK klicken und normal mit der Seite fortfahren. Wenn der Browser jedoch unerwartet geschlossen wird, können Sie time.sleep() verwenden, um den Code anzuhalten und sich ausreichend Zeit für die Fehlersuche zu nehmen.
Sie müssen sich die HTML-Struktur Ihrer Seite ansehen, um das unendliche Scrollen zu beheben, und die unten aufgeführten Schritte ausführen.
Zum besseren Verständnis können Sie das folgende Beispiel heranziehen.
selenium = get_selenium()
selenium.get("ihre/url")
last_elem = '';
while True:
current_last_elem = "#my-div > ul > li:last-child"
scroll = "document.querySelector(\'" + current_last_elem + "\').scrollIntoView();"
selenium.execute_script(scroll)
time.sleep(3)
if (letztes_elem == aktuelles_elem)
break
sonst
letztes_elem = aktuelles_elem
Im obigen Code haben wir jQuery und Javascript in Python verwendet.
Hier,
selenium.get("ihre/url.com/{0}".format(keyword))
"document.querySelector(\'" + .. + "\').scrollIntoView();"
Hier sollte Ihr Format korrekt sein, d. h. Sie müssen auf die einfachen und doppelten Anführungszeichen und die Escape-Zeichen achten.
Einige der häufig auftretenden Probleme beim unendlichen Scrollen sind folgende:
Es ist möglich, ein js-Skript aus Python heraus auszulösen und eine Liste als Ergebnis zu erhalten.
Mit dem folgenden Code können wir zum Beispiel die Quellen aller Bilder auf der Seite abrufen.
js_script = '''\
var jslist = []
document.querySelectorAll('img').forEach(i => jslist.push(i.src));
return jslist;
'' '
python_list = selenium.execute_script(js_script)
Im obigen Code,
Wir können den gleichen Ansatz für die href-Links verwenden, indem:
Anschließend können wir das Skript mit selenium.execute_script() ausführen und den zurückgegebenen Wert in einer Python-Variablen (z.B. python_list) speichern.
So können wir mit Python unendlich scrollende Seiten scrapen.
Sie wissen, dass ein Proxy ein Drittanbieter-Server ist, der als Vermittler zwischen einem Client, der eine Ressource anfordert, und einem Server, der diese Ressource bereitstellt, fungiert. Wenn Sie Proxys mit Selenium und Python verwenden möchten, können Sie die folgenden Codezeilen verwenden.
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s'% hostname +": "+port)
driver = webdriver.Chrome(chrome_options=chrome_options)
Für die Handhabung des unendlichen Scrollens können Sie scroll-proxy verwenden, das das programmatische Scrollen der scrollbaren Ansichten innerhalb einer Ansichtshierarchie unterstützt. Wenn Sie npm verwenden, können Sie scroll-proxy mit dem unten stehenden Befehl installieren. Wir werden js verwenden, um die Verwendung von scroll-proxy zu demonstrieren.
npm install scroll-proxy--save
Nach der Installation von scroll-proxy können Sie ein ScrollProxy-Objekt mit dem folgenden Code instanziieren.
var myScroll = new ScrollProxy();
Wie Sie sehen können, haben wir dem ScrollProxy-Konstruktor keine Argumente übergeben, da er standardmäßig Aktionen meldet, wenn der Benutzer die Seite scrollt.
Wenn Sie jedoch Aktualisierungen erhalten möchten, wenn der Benutzer innerhalb eines bestimmten HTML-Elements blättert, müssen Sie dieses Element an den Konstruktor übergeben.
var myDiv = document.querySelector('.scrollable');
var myDivScroll = new ScrollProxy(myDiv);
Im Folgenden finden Sie einige Gründe für die Verwendung von Proxys beim Scannen von Infinite Scrolling.
Wir haben besprochen, dass das unendliche Scrollen bevorzugt wird, wenn der Nutzer nicht nach bestimmten Informationen sucht. Nachrichten-Websites und Social-Media-Feeds, die ständig neue Inhalte generieren, können vom unendlichen Scrollen profitieren. Andererseits sind Geschäftsseiten und E-Commerce-Websites keine guten Kandidaten für unendliches Scrollen, da die Nutzer nach bestimmten Informationen suchen. Außerdem haben wir die Schritte für das Scraping von Seiten mit unendlichem Scrolling mit Selenium besprochen. Wir können auch rotierende Wohn-Proxys für die Handhabung des unendlichen Scrollens verwenden, da sie helfen, Captchas zu vermeiden und unsere verdächtigen Header-Anfragen zu filtern.
Ich hoffe, Sie haben verstanden, wie man mit Python unendlich scrollende Seiten scrapen kann.