Ich versuche, einen Schaber zu schreiben ergibt sich aus der folgenden Seite zu erhalten:Wie kann ich mithilfe von Beautiful Soup einen Web-Scraper durch mehrere Seiten von Suchergebnissen ziehen lassen?
Ich versuche, alle Ergebnisse zu erhalten, nicht nur „A“ Ergebnisse, aber ich dachte, ich mit einem Buchstaben beginnen könnte und dann durch das ganze Alphabet laufen. Wenn jemand mit diesem Teil helfen kann, wäre das auch toll.
Wie auch immer, ich möchte auf alle Party Names, das heißt, Elemente mit der Eigenschaft Klasse Party-Name.
Ich habe den folgenden Code:
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("https://www.co.dutchess.ny.us/CountyClerkDocumentSearch/Search.aspx?q=nco1%253d2%2526name1%253da&page=1")
bsObj = BeautifulSoup(html)
nameList = bsObj.findAll("td", {"class":"party-name"})
for name in nameList:
print(name.get_text())
Dies ist jedoch nur für eine Seite funktioniert. Die Ergebnisse erstrecken sich über mehrere Seiten. Wie kann ich dies für mehrere Seiten erreichen?
Auch wenn Sie mit allen Ergebnissen helfen können, nicht nur A, das wäre großartig.
BEARBEITEN Ich habe meinen Code jetzt verbessert und kann über alle Suchen gehen. Ich kann jedoch immer noch nicht zur nächsten Seite gehen. Ich habe versucht, page_number ++ zu verwenden, aber das weiß nicht, wo ich aufhören soll, da die Anzahl der Seitenergebnisse variiert. Wie könnte ich es auf die nächste Seite brechen auf der letzten Seite haben ???
Neuer Code:
from urllib.request import urlopen
from bs4 import BeautifulSoup
all_letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o","p","q","r","s","t","u","v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
for letter in all_letters:
page_number = 1
url = "https://www.co.dutchess.ny.us/CountyClerkDocumentSearch/Search.aspx?q=nco1%253d2%2526name1%253d" + letter + "&page=" + str (page_number)
html = urlopen(url)
bsObj = BeautifulSoup(html)
nameList = bsObj.findAll("td", {"class":"party-name"})
for name in nameList:
print(name.get_text())
Sie könnten versuchen, Generatoren – Quill
Plase ** nicht Fragen zu verwenden **: [Wie mehrere Ergebnisseiten beim Web Scraping mit Beautiful Soup iterieren (http : //stackoverflow.com/questions/38407661/how-to-iterate-through-multiple-results-pages-when-web-scraping-with-beautiful-s) –