Я пытаюсь очистить данные Британского агентства пищевых рейтингов aspx страницы результатов поиска (например, g http://ratings.food.gov.uk/QuickSearch.aspx?q=po30), используя Mechanize / Python на scraperwiki (http://scraperwiki.com/scrapers/food_standards_agency/) но возникает проблема при попытке перейти по ссылкам «следующей» страницы, которые имеют вид:
<input type="submit" name="ctl00$ContentPlaceHolder1$uxResults$uxNext" value="Next >" id="ctl00_ContentPlaceHolder1_uxResults_uxNext" title="Next >" />
Обработчик формы выглядит так:
<form method="post" action="QuickSearch.aspx?q=po30" onsubmit="javascript:return WebForm_OnSubmit();" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_ContentPlaceHolder1_buttonSearch')" id="aspnetForm">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
Трассировка HTTP, когда я вручную нажимаю Следующие ссылки, показывает __EVENTTARGET пустым? На всех шпаргалках, которые я могу найти на других скребках, манипулирование __EVENTTARGET является способом обработки следующих страниц.
Действительно, я не уверен, как страница, которую я хочу почистить, загружает следующую страницу? Что бы я ни бросал в скребок, ему удается загрузить только первую страницу результатов. (Даже возможность изменить количество результатов на странице было бы полезно, но я тоже не понимаю, как это сделать!)
Итак, есть идеи о том, как очистить страницы результатов 1 + N для N> 0?