小鬼web
2018-02-09 09:34
采纳率: 60%
浏览 2.9k

如何利用scrapy爬取带标签的网页内容并保存到自己的服务器上?

如何利用scrapy爬取整个网页的内容并将内容保存到自己的服务器上?
现在我想到了两种方式:

1、直接把scrapy爬取到的字符串通过SQLAlchemy保存到mysql数据库。
这种方式我试过但是不知道是不是容量受限制的原因没有保存成功。(爬取到的其他字段都能保存成功,只有这个保存带标签的网页内容的字段没有保存成功。)

2、在自己的服务器上搭建一个ftp服务器。
将爬取到的网页保存到自己的服务器,在mysql中只保存网页在ftp中的路径。
这种方式还没试过,有点不知道怎么操作。

此外还有一个问题需要解决,爬取到的网页中会有一些图文混排的内容,对于这些图片应该怎么处理呢?我想把网页中引用的图片的url改成自己服务器上的地址,
这个操作应该怎么进行呢。

(现在脑子里很乱,请各位大神指教,上代码、提供思路或者推荐参考资料都行。拜托大家了,感谢感谢,撒花撒花~)

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • wodexinhao 2018-02-09 10:44
    已采纳
    1. 把整个爬取到的网页内容直接存储到数据库肯定是可以的,你之所以没有成功,应该是因为你的数据库中的相应字段错了,整个网页内容都比较长,一般都是要用text字段,甚至是LongText)(最大长度4294967295个字元 (2^32-1)。
    2. 你的意思就是要把真个网页里面包括图片和css文件,js文件都保存到自己的服务器中,那就需要把爬取到的网页内容进行分析,把所有图片链接和css文件链接,js文件链接都下载下来,然后替换掉相应的路径,替换完再保存到服务器就可以了。这些都是很简单的,应该都会吧,不知道你具体是什么用途,所以回答可能不是很准确。
    打赏 评论
  • 脱裤儿任风吹 2018-02-09 11:17

    除了你设计数据库的时候有可能不是longtext字段类型的问题,还可能是因为你保存的时候没有注意引号的问题

    打赏 评论
  • devmiao 2018-02-09 15:57
    打赏 评论

相关推荐 更多相似问题