teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

python3に合わせたコードに修正

2017/03/21 13:43

投稿

TakuyaKurakado
TakuyaKurakado

スコア72

answer CHANGED
@@ -15,10 +15,10 @@
15
15
 
16
16
  html = '<html><body><ul><li>あいうえお</li></ul></body></html>'
17
17
  soup = BeautifulSoup(html,"html.parser")
18
- print soup
18
+ print(soup)
19
19
 
20
20
  soup.li.string.replace_with("かきくけこ")
21
- print soup
21
+ print(soup)
22
22
  ```
23
23
  実行結果
24
24
  > <html><body><ul><li>あいうえお</li></ul></body></html>

1

追記分を追加

2017/03/21 13:42

投稿

TakuyaKurakado
TakuyaKurakado

スコア72

answer CHANGED
@@ -3,4 +3,23 @@
3
3
  こちらですが、<li>タグが閉じられていないことが原因です。/抜けですね。
4
4
 
5
5
  誤:html = '<html><body><ul><li>あいうえお<li></ul></body></html>'
6
- 誤:html = '<html><body><ul><li>あいうえお</li></ul></body></html>'
6
+ 誤:html = '<html><body><ul><li>あいうえお</li></ul></body></html>'
7
+
8
+ (追記)
9
+ 以下のコードでいかがでしょうか。
10
+ なお、linuxでは正常に動きましたがwindowsではエラーになりました。エラー原因は解析していません。
11
+ (windows環境をお使いになっていてやはりエラーになるようでしたら言ってください。)
12
+ ```python
13
+ # -*- coding: utf-8 -*-
14
+ from bs4 import BeautifulSoup
15
+
16
+ html = '<html><body><ul><li>あいうえお</li></ul></body></html>'
17
+ soup = BeautifulSoup(html,"html.parser")
18
+ print soup
19
+
20
+ soup.li.string.replace_with("かきくけこ")
21
+ print soup
22
+ ```
23
+ 実行結果
24
+ > <html><body><ul><li>あいうえお</li></ul></body></html>
25
+ > <html><body><ul><li>かきくけこ</li></ul></body></html>