za pomocą scrapy zeskrobać stronę asp.net za pomocą przycisków javascript i żądań ajax
Próbowałem zeskrobać jakąś datę z witryny asp.net, strona początkowa powinna być następująca:http://www.e3050.com/Items.aspx?cat=SON
Po pierwsze, chcę wyświetlić 50 elementów na stronie (z zaznaczonego elementu) Po drugie, chcę paginować strony.
Wypróbowałem następujący kod dla 50 elementów na stronie, ale nie zadziałał:
<code>start_urls = ["http://www.e3050.com/Items.aspx?cat=SON"] def parse(self, response): requests = [] hxs = HtmlXPathSelector(response) # Check if there's more than 1 page if len(hxs.select('//span[@id="ctl00_ctl00_ContentPlaceHolder1_ItemListPlaceHolder_lbl_PageSize"]/text()').extract()) > 0: # Get last page number last_page = hxs.select('//span[@id="ctl00_ctl00_ContentPlaceHolder1_ItemListPlaceHolder_lbl_PageSize"]/text()').extract()[0] i = 1 # preparing requests for each page while i < (int(last_page) / 5) + 1: requests.append(Request("http://www.e3050.com/Items.aspx?cat=SON", callback=self.parse_product)) i +=1 # posting form date (50 items and next page button) requests.append(FormRequest.from_response( response, formdata={'ctl00$ctl00$ContentPlaceHolder1$ItemListPlaceHolder$pagesddl':'50', '__EVENTTARGET':'ctl00$ctl00$ContentPlaceHolder1$ItemListPlaceHolder$pager1$ctl00$ctl01'}, callback=self.parse_product, dont_click=True ) ) for request in requests: yield request </code>