使用Scrapy存档页面

时间:2016-12-06 03:40:56

标签: python-2.7 scrapy

我刚刚开始使用Scrapy,我目前的目标是构建一个网页存档工具。

到目前为止,我有一些代码可以将页面保存到项目文件夹中的.html文件中。

import scrapy

class TestSpider(scrapy.Spider):
    name = "testbot"
    allowed_domain = ["URL"]
    start_urls = ["URL"]

def parse(self, response):
    filename = response.url.split("/")[-2] + '.html'
    with open(filename, 'wb') as f:
        f.write(response.body)

以上代码效果很好,但现在如何下载所有页面资源。图像,CSS,JS

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

为了下载资产,scrapy有Files and Images pipelines。或者您可以编写自己的自定义管道来下载文件(图像,js,css)。接下来,您只需要从响应中提取文件的url地址并将其转换为管道。例如:

*** Settings ***
Library    OperatingSystem    

*** Test Cases ***
Open Word
    Run    C:\\PROGRA~2\\MICROS~2\\Office14\\winword.exe ${EXECDIR}${/}test.docx

这是你不能做的一个基本的例子。项目的格式可能会有所不同,具体取决于您使用的管道。