Cómo iterar a través de múltiples páginas de resultados cuando raspa web con Beautiful Soup

Tengo un script que escribí donde uso Beautiful Soup para raspar un sitio web para obtener resultados de búsqueda. He logrado aislar los datos que quiero a través de su nombre de clase.

Sin embargo, los resultados de búsqueda no están en una sola página. En cambio, se extienden por varias páginas, así que quiero obtenerlas todas. Quiero que mi script pueda verificar si hay una próxima página de resultados y ejecutarse allí también. Dado que los resultados varían en número, no sé cuántas páginas de resultados existen, por lo que no puedo predefinir un rango para iterar. También he intentado usar una verificación 'if_page_exists'. Sin embargo, si pongo un número de página que está fuera de los rangos de resultados, la página siempre existe, simplemente no tiene ningún resultado, pero tiene una página que dice que no hay resultados para mostrar.

Sin embargo, he notado que el resultado de cada página tiene un enlace 'Siguiente' que tiene la identificación 'NextLink1' y el resultado de la última página no lo tiene. Así que creo que esa podría ser la magia. Pero no sé cómo y dónde implementar esa verificación. He estado recibiendo infinitos bucles y esas cosas.

El siguiente script encuentra los resultados para el término de búsqueda 'x'. La asistencia sería muy apreciada.

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"]
all_letters= ['x']
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())

Además, ¿alguien conoce una forma más corta de crear instancias de una lista de caracteres alfanuméricos que sea mejor que la que comenté en el script anterior?

Respuestas a la pregunta(1)

Su respuesta a la pregunta