Я пытаюсь сделать паука, который счищает товары со страницы и, когда закончит, очищает следующую страницу в каталоге и следующую после этого и т. Д.
Я получил все продукты со страницы (я соскребаю амазонку) с
rules = {
Rule(LinkExtractor(allow =(), restrict_xpaths = ('//a[contains(@class, "a-link-normal") and contains(@class,"a-text-normal")]') ),
callback = 'parse_item', follow = False)
}
И это прекрасно работает. Проблема в том, что я должен перейти на следующую страницу и продолжить чистку.
То, что я пытался сделать, это правило, подобное этому
rules = {
#Next Button
Rule(LinkExtractor(allow =(), restrict_xpaths = ('(//li[@class="a-normal"]/a/@href)[2]') )),
}
Проблема в том, что xPath возвращает (например, с этой страницы: https://www.amazon.com/s?k=mac+makeup&lo=grid&page=2&crid=2JQQNTWC87ZPV&qid=1559841911&sprefix=MAC+mak%2Caps%2C312&ref=sr_pg_2)
/s?k=mac+makeup&lo=grid&page=3&crid=2JQQNTWC87ZPV&qid=1559841947&sprefix=MAC+mak%2Caps%2C312&ref=sr_pg_3
Какой будет URL для следующей страницы, но без www.amazon.com.
Я думаю, что мой код не работает, потому что я пропускаю www.amazon.com перед указанным выше URL.
Есть идеи, как заставить это работать? Может быть, то, как я поступил, не совсем правильно.