2016-04-26 3 views
0

Мое намерение запустить поисковый робот на этой веб-странице: http://visit.rio/en/o-que-fazer/outdoors/. Однако есть некоторые ресурсы на id = "container", которые загружаются с помощью кнопки JavaScript («VER MAIS»). Я читал некоторые вещи о селене, но у меня ничего нет.Моделирование кнопки JavaScript с помощью Scrapy

ответ

6

Вы правильно читаете, лучшим выбором будет scrapy + selenium с помощью браузера Firefox или безголового, такого как PhantomJS, для более быстрого соскабливания.

Пример адаптировано из https://stackoverflow.com/a/17979285/2781701

import scrapy 
from selenium import webdriver 

class ProductSpider(scrapy.Spider): 
    name = "product_spider" 
    allowed_domains = ['visit.rio'] 
    start_urls = ['http://visit.rio/en/o-que-fazer/outdoors'] 

    def __init__(self): 
     self.driver = webdriver.Firefox() 
    def parse(self, response): 
     self.driver.get(response.url) 

     while True: 
      next = self.driver.find_element_by_xpath('//div[@id="show_more"]/a') 

      try: 
       next.click() 

       # get the data and write it to scrapy items 
      except: 
       break 

     self.driver.close() 
Смежные вопросы