검색 양식을 제출 한 후 웹 사이트에서 일부 작업을 수행해야합니다. 문제는 브라우저를 통해이 작업을 수행 할 때 페이지가 다시로드되지 않고 어디에서나 리디렉션됩니다. 링크가 변경되지 않아도 검색 결과 아래에 결과가 표시됩니다 (새 페이지에서 볼 수 있음). html.Python3 : MechanicalSoup을 통해 양식을 제출할 때 아무런 변화가 없습니다.
import mechanicalsoup
def fetchfile(query):
url = "http://www.italgiure.giustizia.it/sncass/"
browser = mechanicalsoup.Browser()
page = browser.get(url)
search_form = page.soup.find("form", {"id": "z-form"})
search_form.find("input", {"id":"searchterm"})["value"] = query
response = browser.submit(search_form, page.url)
print(response) # the response is 200, so it should be a good sign
# actual parsing will come later...
print("1235" in response.text) # quick-check to see if there is what I'm looking for, but I get False
# in fact this...
print(page.text == response.text) # ...gives me True
fetchfile("1235/2012")
내가 할 수있는 : 하지만 코드를 다음 사용하면 내가 응답에 있어야합니다 "새로운"페이지의 HTML을 볼 수는 (제공된 링크는 실제로 작동하도록 노력하고있어 하나입니다) 내가 빠진 것을 이해하지 못한다. 차라리 셀레늄을 사용하지 않을 것입니다. 모든 단서?
덕분에, 그러나 결국 나는 결과를 제출 한 후 i는 PDF 파일을 다운로드 할 필요가 있기 때문에, 셀레늄을 사용했다 ... 그리고 셀레늄 및 "클릭을 사용하는 것보다 다른 방법이없는 것 같다 "그 결과. 내 새로운 문제는 robots.txt이지만, 만약 내가 따르고 싶다면 내가 할 수있는 일은 거의 없다. –