作者cathy0610 (凯西)
看板Python
标题[问题] 记忆体不足
时间Thu Oct 29 05:21:45 2020
请问执行会对网页重覆执行爬虫的脚本
它在执行一段时间後
chrome浏览器就会显示out of memory
程式就停止了
(电脑记忆体32g)
请问这个问题有办法解决吗?
(除了重启浏览器,还有其他方法吗?)
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.36.95.138 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1603920107.A.036.html
1F:→ Hsins: 你的问题叙述没头没尾的。纯粹执行 Python 脚本通常是直接 10/29 06:18
2F:→ Hsins: 丢请求取东西回来,要嘛就是取页面原始码再透过 selector 10/29 06:18
3F:→ Hsins: 或 xpath 定位,又或是直接字串透过正则表达式做 parsing, 10/29 06:18
4F:→ Hsins: 这时的记忆体不足会是脚本可能有 memory leak 或者是读入过 10/29 06:18
5F:→ Hsins: 量的资料。如果还需要开浏览器,通常是有需要加载 js 才会 10/29 06:18
6F:→ Hsins: 渲染页面,要嘛 headless 要嘛 seleium,至少要交代一下吧 10/29 06:18
7F:→ Hsins: ?浏览器跳记忆体不足的原因有很多啊,你脚本是不是会一直 10/29 06:18
8F:→ Hsins: 开新分页?又或者是要一直下拉载入新内容?还是其他? 10/29 06:18
9F:→ Hsins: 如果是开太多分页或记忆体没清,就去找文件看看那个方法可 10/29 06:22
10F:→ Hsins: 以调用去关分页或者是清理浏览器的记忆体,然後在脚本里呼 10/29 06:22
11F:→ Hsins: 叫。如果清了记忆体就不能爬了,那就找其他的爬法… 10/29 06:22
12F:→ Hsins: 搞不好是对方网站载入的 js 有没写好的东西一直堆上去… 10/29 06:24
13F:→ Hsins: 如果你需要爬的东西,是重启浏览器之後直接运行脚本继续爬 10/29 06:32
14F:→ Hsins: 也没差,容错率比较高的话。写个脚本定期去杀掉进程,然後 10/29 06:32
15F:→ Hsins: 重启会比较快速无脑 10/29 06:32
抱歉 是用seleium
不需要开新分页 只是会定时重新整理
谢谢您的意见分享><
请问您说的有没有哪里可以查询相关资讯
我再试看看
谢谢
※ 编辑: cathy0610 (114.36.95.138 台湾), 10/29/2020 08:24:03
16F:→ kobe8112: 有办法解决,办法就是把脚本内错误的程式码修正 10/29 09:10
17F:推 stillcolor: 一楼回答完了...下次发问记得多提供点资讯 10/29 10:11
18F:→ stillcolor: selenium没开新分页,应该就先往程式码找看看 10/29 10:12
19F:推 aidansky0989: 用Selenium爬,那可能会是有点消耗资源,因为开太多 10/29 10:43
20F:→ aidansky0989: 页面 10/29 10:43
21F:推 stillcolor: 之前碰到过开太多分页,导致chrome记忆体爆炸,供参考 10/29 11:19
22F:推 jasonfghx: se拼错? 11/01 19:29