Я пытаюсь очистить информацию о продукте с веб-страницы с помощью scrapy. Моя веб-страница, которую нужно очистить, выглядит так:
- начинается со страницы product_list с 10 продуктами
- нажатие на кнопку «Далее» загружает следующие 10 продуктов (URL-адрес между двумя страницами не меняется)
- Я использую LinkExtractor, чтобы переходить по каждой ссылке продукта на страницу продукта и получать всю необходимую информацию
Я попытался воспроизвести ajax-call следующей кнопки, но не могу работать, поэтому я пробую селен. Я могу запустить selenium webdriver в отдельном скрипте, но я не знаю, как интегрироваться с scrapy. Куда мне поместить селен в мой паук для скрапинга?
Мой паук довольно стандартный, вроде следующего:
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
Любая идея приветствуется. Спасибо!