脱机(本地)数据上的Python Scrapy

脱机(本地)数据上的Python Scrapy,python,scrapy,web-crawler,Python,Scrapy,Web Crawler,我的计算机上有一个270MB的数据集(10000个html文件)。我可以使用Scrapy在本地抓取此数据集吗?如何实现?SimpleHTTP服务器托管 如果您确实想在本地托管它并使用scrapy,您可以导航到它存储的目录并运行SimpleHTTPServer(端口8000,如下所示): 然后把scrapy指向127.0.0.1:8000 $ scrapy crawl 127.0.0.1:8000 文件:// 另一种方法是将scrapy point直接指向文件集: $ scrapy crawl

我的计算机上有一个270MB的数据集(10000个html文件)。我可以使用Scrapy在本地抓取此数据集吗?如何实现?

SimpleHTTP服务器托管 如果您确实想在本地托管它并使用scrapy,您可以导航到它存储的目录并运行SimpleHTTPServer(端口8000,如下所示):

然后把scrapy指向127.0.0.1:8000

$ scrapy crawl 127.0.0.1:8000
文件:// 另一种方法是将scrapy point直接指向文件集:

$ scrapy crawl file:///home/sagi/html_files # Assuming you're on a *nix system
收尾 为scrapy设置刮板后(请参阅),只需运行爬虫程序:

$ scrapy crawl 127.0.0.1:8000

如果html文件中的链接是绝对链接而不是相对链接,那么这些链接可能无法正常工作。您需要自己调整文件。

转到数据集文件夹:

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.

没有必要去刮

你知道把奖金奖励给自己并不能给你赢得一顶帽子,对吗-P@MartijnPieters我正在给几个人发奖金。节日快乐!在某种程度上,我希望提问者会接受回答-/你的回答确实足够彻底,至少值得一些反馈!对于Python3.1:python-mHTTP.servers,Scrapy提供了很多功能,例如,获取相同字段的多个选项。当然,您可以复制所有这些功能,但这将是重新发明轮子。
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.