我正在使用scrapy来抓取网站,我可以从页面下载文件,但是下载的所有内容都是纯文本文件。如何使用它的扩展类型下载?我正在下载脚本,因此,我需要在下载时使用正确的扩展类型。
例如,如果我从exploit-db下载漏洞,我去下载它们的链接就是:https://www.exploit-db.com/exploits/19832/ 我将从那里提取的链接从https://www.exploit-db.com/download/19832下载,如果我正常点击它,将下载一个ruby文件。但是通过scrapy它会被保存为文本文件。有没有办法通过scrapy下载它作为.rb?
答案 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)