Я намагаюся зішкребти інформацію про товар із веб-сторінки за допомогою скрапінгу. Моя веб-сторінка, яку потрібно очистити, виглядає так:
- починається зі сторінки списку товарів із 10 товарами
- натискання кнопки "Далі" завантажує наступні 10 продуктів (URL не змінюється між двома сторінками)
- я використовую LinkExtractor, щоб перейти за кожним посиланням на товар на сторінці товару та отримати всю необхідну мені інформацію
Я намагався відтворити наступний виклик ajax-кнопки, але не можу працювати, тому я пробую селен. Я можу запустити веб-драйвер селену окремим сценарієм, але я не знаю, як інтегрувати його зі скрапінгом. Куди покласти частину селену в павука-скрепера?
Мій павук досить стандартний, наприклад, такий:
class ProductSpider(CrawlSpider):
name = "product_spider"
allowed_domains = ['example.com']
start_urls = ['http://example.com/shanghai']
rules = [
Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="productList"]//dl[@class="t2"]//dt'), callback='parse_product'),
]
def parse_product(self, response):
self.log("parsing product %s" %response.url, level=INFO)
hxs = HtmlXPathSelector(response)
# actual data follows
Будь-яка ідея цінується. Дякую!