作者wayne64001 (哥,闭嘴啦)
看板Python
标题[问题] 爬虫编码utf8後整个档案只剩一句话?
时间Sun Oct 7 15:28:06 2018
小弟python新手 最近想实作一下爬虫的部分
选择reddit论坛 爬完档案之後想要续做文字分析
但在爬虫输出时遇到了编码的问题
我爬文参照了一些解决方案 是解决了 但整个文件只剩下一句话
请问该怎麽解决呢?
https://imgur.com/a/2uezYPV
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 120.126.194.203
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1538897289.A.02A.html
1F:→ HenryLiKing: 因为你 ignore了(?) 10/07 17:01
2F:→ wayne64001: 把ignore去掉也是一样.... 10/07 22:53
3F:→ gmccntzx1: 你的 In [76] 执行结果应该是 In [72] 的最後一段 10/07 22:56
4F:→ gmccntzx1: 所以请试着完整的执行 In [72] 并对里面的 10/07 22:58
5F:→ gmccntzx1: content_container.text decode 10/07 22:58
6F:→ gmccntzx1: 讲简单点:把 In [76] 的那行 print 取代掉 In [72] 的 10/07 23:00
7F:→ gmccntzx1: 那行 print ... 10/07 23:00
有了! print出来後确实正常了 但是在我写入txt之後却又变成只剩一句话...
https://imgur.com/a/vnJ2UUt
※ 编辑: wayne64001 (180.217.163.36), 10/07/2018 23:05:15
8F:→ gmccntzx1: 因为你写入一段後就马上把 file 关了 10/07 23:12
9F:→ gmccntzx1: 所以你 for 回圈里在做的事情是: 10/07 23:13
10F:→ gmccntzx1: 1. 取得 content_container.text 10/07 23:14
11F:→ gmccntzx1: 2. 开一个新的 file ("fuckyou123.txt") 10/07 23:15
12F:→ gmccntzx1: 3. 写入 content_container.text 10/07 23:15
13F:→ gmccntzx1: 4. 关闭 file ("fuckyou123.txt") 10/07 23:16
14F:→ gmccntzx1: 由於 file open 的方式是 'w' (write),所以每次都会以 10/07 23:16
15F:→ gmccntzx1: 一个新档案覆盖掉原本的档案。又加上 file 的 open/ 10/07 23:17
16F:→ gmccntzx1: close 都在同一个回圈内,所以实际上这个 file 已经被 10/07 23:18
17F:→ gmccntzx1: 覆写掉很多遍,直到最後一行结束。 10/07 23:18
18F:→ gmccntzx1: 所以建议你把 file 的 open/close 移到回圈外,回圈内 10/07 23:19
19F:→ gmccntzx1: 只负责写入资料。 10/07 23:19
感谢大大耐心地回我 但移到回圈外结果还是一样...小弟太菜了实在不知道那里的问题
https://imgur.com/a/wQrh6M1
※ 编辑: wayne64001 (180.217.163.36), 10/07/2018 23:26:43
20F:→ gmccntzx1: 要先 open file ,再来写入资料,最後才 close file 10/07 23:33
21F:→ gmccntzx1: 记得你的 `outfile.write(data)` 要放在回圈内 10/07 23:34
感谢大大!终於将它完整的印在txt档了 想了整天不知道到底是哪里的问题没有想到竟
然是回圈没写好 看来这边得再多加点功夫了
※ 编辑: wayne64001 (180.217.163.36), 10/07/2018 23:39:17
22F:→ gmccntzx1: 有解决问题就好,有空可以再看一下 with statement 10/07 23:48
23F:→ gmccntzx1: key word: python with "context manager" "file open" 10/07 23:50
24F:→ gmccntzx1: keyword* 10/07 23:51
26F:→ gmccntzx1: 上面连结的其他内容也可以多看看,希望对你有帮助! 10/07 23:53
27F:推 cutekid: gm 大总是很有耐心,推(y) 10/08 00:08
28F:→ gmccntzx1: 谢谢楼上 d(`・∀・)b 10/08 10:34