Подтвердить что ты не робот

Python Scrapy для автономных (локальных) данных

У меня есть набор данных на 270 МБ (10000 html файлов) на моем компьютере. Могу ли я использовать Scrapy для сканирования этого набора данных локально? Как?

4b9b3361

Ответ 1

Хостинг хостинга SimpleHTTP

Если вы действительно хотите разместить его локально и использовать scrapy, вы можете выполнить его, перейдя в каталог, в котором он хранится, и запустите SimpleHTTPServer (порт 8000, показанный ниже):

python -m SimpleHTTPServer 8000

Затем просто наведите отметку на 127.0.0.1:8000

$ scrapy crawl 127.0.0.1:8000

файл://

Альтернатива заключается в том, чтобы просто вызвать скрининг непосредственно на набор файлов:

$ scrapy crawl file:///home/sagi/html_files # Assuming you're on a *nix system

Обертка

Как только вы настроили свой скребок для scrapy (см. пример dirbot), просто запустите обходчик:

$ scrapy crawl 127.0.0.1:8000

Если ссылки в html файлах являются абсолютными, а не относительными, они могут работать неправильно. Вам нужно будет самостоятельно отредактировать файлы.

Ответ 2

Перейдите в папку Dataset:

import os
files = os.listdir(os.getcwd())
for file in files:
    with open(file,"r") as f:
        page_content = f.read()
        #do here watever you want to do with page_content. I guess parsing with lxml or Beautiful soup.

Не нужно идти на Scrapy!