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