나는 다음 페이지의 결과를 얻을 수있는 스크레이퍼를 작성하는 것을 시도하고있다 :아름다운 스프를 사용하여 여러 페이지의 검색 결과를 웹 스 크레이져가 통과하도록하려면 어떻게해야합니까?
내가 모든 결과뿐만 아니라 "A"결과를 얻기 위해 노력하고 있어요,하지만 난 하나 개의 문자로 시작할 수 생각 그리고 나서 전체 알파벳을 따라 가라. 누군가가이 부분에 도움을 줄 수 있다면 큰 도움이 될 것입니다.
어쨌든 모든 파티 이름, 즉 속성 클래스 party-name이있는 요소에 대해 제로에 넣고 싶습니다.
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())
그러나,이 한 페이지 만 작동 :
나는 다음과 같은 코드가 있습니다. 결과는 여러 페이지에 걸쳐 있습니다. 여러 페이지에 대해 어떻게 이것을 수행 할 수 있습니까?
또한 A가 아닌 모든 결과를 얻는 데 도움을 줄 수 있으면 좋을 것입니다.
수정 지금 내 코드가 개선되었으며 모든 검색을 수행 할 수 있습니다. 그러나 나는 여전히 다음 페이지로 갈 수 없다. 내가 page_number + +를 사용하여 노력했지만 페이지 결과의 숫자가 다양하기 때문에 어디에서 멈출 지 모릅니다. 어떻게하면 마지막 페이지에서 다음 페이지 나누기로 갈 수 있습니까 ???
새로운 코드 :
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())
발전기를 사용해 볼 수 있습니다. – Quill
Plase ** 질문을 다시 게시하지 마십시오 ** : [아름다운 수프로 웹 스크래핑을 할 때 여러 결과 페이지를 반복하는 방법] (http : //stackoverflow.com/questions/38407661/how-to-iterate-through-multiple-results-pages-when-web-scraping-with-beautiful-s) –