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

回答編集履歴

2

追記

2021/07/01 00:37

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -42,4 +42,12 @@
42
42
  None
43
43
  ```
44
44
 
45
- htmlパーザで扱うのが無理なぐらい壊れているのであれば、行単位に正規表現でマッチさせるなどの方が現実的解でしょう。
45
+ htmlパーザで扱うのが無理なぐらい壊れているのであれば、行単位に正規表現でマッチさせるなどの方が現実的解でしょう。
46
+
47
+ ----
48
+ 追記
49
+
50
+
51
+ soupやr.contentを自分の目で見て、これがパーズできないのはありえない=HTMLとして問題ない、と思えるのでしょうか。
52
+ これはまともにパーズできなくても仕方ない、と思えるのでしょうか。
53
+ なんのページなのか、どんなデータなのかが明らかにされない限り他の人に解決できる話ではありません。

1

追記

2021/07/01 00:36

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -23,4 +23,23 @@
23
23
 
24
24
  >>> print(soup.find("title"))
25
25
  <title>hogehoge(&gt; &lt;)</title>
26
- ```
26
+ ```
27
+
28
+ ----
29
+
30
+ 追記
31
+
32
+ title要素の前に開かれたままで閉じられていないタグが置かれたりしている、とか、そういう壊れ方でしょうか。
33
+ ```plain
34
+ >>> soup = BeautifulSoup('<broken <title>hogehoge(> <)</title>' , "html.parser")
35
+
36
+ >>> print(soup.prettify())
37
+ <broken <title="">
38
+ hogehoge(&gt; &lt;)
39
+ </broken>
40
+
41
+ >>> print(soup.find("title"))
42
+ None
43
+ ```
44
+
45
+ htmlパーザで扱うのが無理なぐらい壊れているのであれば、行単位に正規表現でマッチさせるなどの方が現実的解でしょう。