Я пытаюсь очистить ASP-сайт с помощью инструментов ScraperWiki.
Я хочу получить список BBS в определенном регионе с веб-сайта BBSmates.com. На сайте одновременно отображается 20 результатов поиска BBS, поэтому мне придется отправлять формы, чтобы переходить с одной страницы результатов на другую.
Этот сообщение в блоге помог мне начать. Я думал, что следующий код захватит последнюю страницу списков BBS для кода города 314 (стр. 79).
Однако ответ, который я получаю, это ПЕРВАЯ страница.
url = 'http://bbsmates.com/browsebbs.aspx?BBSName=&AreaCode=314'
br = mechanize.Browser()
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
response = br.open(url)
html = response.read()
br.select_form(name='aspnetForm')
br.form.set_all_readonly(False)
br['__EVENTTARGET'] = 'ctl00$ContentPlaceHolder1$GridView1'
br['__EVENTARGUMENT'] = 'Page$79'
print br.form
response2 = br.submit()
html2 = response2.read()
print html2
В сообщении в блоге, которое я цитировал выше, упоминается, что в их случае возникла проблема с SubmitControl, поэтому я попытался отключить два SubmitControls в этой форме.
br.find_control("ctl00$cmdLogin").disabled = True
Отключение cmdLogin вызвало ошибку HTTP 500.
br.find_control("ctl00$ContentPlaceHolder1$Button1").disabled = True
Отключение ContentPlaceHolder1$Button1 не имело никакого значения. Отправка прошла, но страница, которую она вернула, по-прежнему была страницей 1 результатов поиска.
Стоит отметить, что этот сайт НЕ использует «Page$Next».
Может ли кто-нибудь помочь мне понять, что мне нужно сделать, чтобы заставить форму ASPX работать?