如何通过带有scrapy

时间:2016-06-20 08:17:49

标签: scrapy scrapy-spider

我正在使用scrapy来抓取网站,我可以从页面下载文件,但是下载的所有内容都是纯文本文件。如何使用它的扩展类型下载?我正在下载脚本,因此,我需要在下载时使用正确的扩展类型。

例如,如果我从exploit-db下载漏洞,我去下载它们的链接就是:https://www.exploit-db.com/exploits/19832/ 我将从那里提取的链接从https://www.exploit-db.com/download/19832下载,如果我正常点击它,将下载一个ruby文件。但是通过scrapy它会被保存为文本文件。有没有办法通过scrapy下载它作为.rb?

1 个答案:

答案 0 :(得分:0)

只需将其另存为filename.rb即可。所有文件都是文本/二进制文件。扩展只是告诉您的操作系统使用什么来理解该文件。 (在某些操作系统中,甚至不需要扩展,因为文件在文件开头有标题,告诉它们是什么)

你可以试试这个:

scrapy shell https://www.exploit-db.com/download/19832

然后在shell或你的蜘蛛中做:

with open('ruby_file.rb', 'wb') as ruby_file:
    ruby_file.write(response.body)
相关问题