2014-02-04 2 views
4

Я работаю над программой очистки веб-страниц, но у меня возникла проблема с использованием scrapy с созданным javascript контентом. Я знаю, что scrapy не построен для этого типа скребков, но я пытался использовать scrapyjs или splash, чтобы выполнить то, что мне нужно.Как интегрировать модуль рендеринга javascript в scrapy?

Однако, я не могу заставить любой из этих двух модулей правильно работать со скрипом. Мой вопрос: если у кого-то есть минимальный пример, он может показать, что использует scrapyjs или всплеск для рендеринга javascript-страниц?

Редактировать: Моя платформа ubuntu и я работаем с python. Для scrapyjs я просто помещаю исходный код в самый верхний каталог проекта scrapy, и мне еще предстоит найти какие-нибудь реальные руководства о том, как использовать всплеск. Причина, по которой я спрашиваю о всплеске, состоит в том, что она кажется более мощным модулем для рендеринга javascript и много упоминается в том же разговоре, что и scrapjs.

+0

Что ваша платформа, как вы установили scrapyjs или всплеск? Какие ошибки, если таковые имеются, вы получаете? –

ответ

1

Я считаю, что все, что вам нужно сделать, это реализовать process_links in your Spider:

def proxy_url(url): 
     return "http://localhost:8050/render.html?url=%s&timeout=15&wait=1" % url 


def process_links(self,links): 
     for link in links: 
      link.url = proxy_url(link.url) 
     return links 
+0

Я не совсем понимаю, что делает proxy_url(). Могли бы вы объяснить? – Muttonchop

+0

Я получил ваше решение для работы в слегка измененной форме. – Muttonchop

+0

@Adamkucera, Можете ли вы поделиться модифицированной формой? –

Смежные вопросы