我刚刚开始使用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
感谢任何帮助。谢谢!
答案 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
这是你不能做的一个基本的例子。项目的格式可能会有所不同,具体取决于您使用的管道。