Пытаюсь получить ссылку на продукты, переходя по категориям на сайте:
m.phytopurify.com/category/1247?search=&page=3
Однако столкнулся с такой проблемой, в HTML коде кнопки, которая отправляет на следующюю страницу категории вместо ссылки это:
<button id="btnregister" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-right ui-icon-carat-r ui-btn-a" data-ajax="false" onclick="NextPage(3+1)">nextpage</button>
Я написал scrapy код:
import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
class SicalSpider(CrawlSpider):
name = 'phy'
allowed_domains = ['phytopurify.com']
start_urls = ['http://m.phytopurify.com/',]
rules = (
Rule(LinkExtractor(allow=('', ), restrict_xpaths=('//div[@class="indexnbnav"]'))),
Rule(LinkExtractor(allow=('', ), restrict_xpaths=('//div[@class="ui-block-b"]'))), # вот именно тут, я так понимаю, есть ошибка
Rule(LinkExtractor(allow='', restrict_xpaths=('//ul')), callback='parse_item'),
)
def parse_item(self, response):
exists = response.xpath('//b[contains(text(),"CAS")]').extract_first()
if exists:
self.logger.info('response.url=%s' % response.url)
item = dict()
item['url'] = response.url
yield item
Как в Crawlspider заставить паука перейти по кнопке?