回答編集履歴

2

追記

2021/07/01 00:37

投稿

quickquip
quickquip

スコア11235

test CHANGED
@@ -87,3 +87,19 @@
87
87
 
88
88
 
89
89
  htmlパーザで扱うのが無理なぐらい壊れているのであれば、行単位に正規表現でマッチさせるなどの方が現実的解でしょう。
90
+
91
+
92
+
93
+ ----
94
+
95
+ 追記
96
+
97
+
98
+
99
+
100
+
101
+ soupやr.contentを自分の目で見て、これがパーズできないのはありえない=HTMLとして問題ない、と思えるのでしょうか。
102
+
103
+ これはまともにパーズできなくても仕方ない、と思えるのでしょうか。
104
+
105
+ なんのページなのか、どんなデータなのかが明らかにされない限り他の人に解決できる話ではありません。

1

追記

2021/07/01 00:36

投稿

quickquip
quickquip

スコア11235

test CHANGED
@@ -49,3 +49,41 @@
49
49
  <title>hogehoge(&gt; &lt;)</title>
50
50
 
51
51
  ```
52
+
53
+
54
+
55
+ ----
56
+
57
+
58
+
59
+ 追記
60
+
61
+
62
+
63
+ title要素の前に開かれたままで閉じられていないタグが置かれたりしている、とか、そういう壊れ方でしょうか。
64
+
65
+ ```plain
66
+
67
+ >>> soup = BeautifulSoup('<broken <title>hogehoge(> <)</title>' , "html.parser")
68
+
69
+
70
+
71
+ >>> print(soup.prettify())
72
+
73
+ <broken <title="">
74
+
75
+ hogehoge(&gt; &lt;)
76
+
77
+ </broken>
78
+
79
+
80
+
81
+ >>> print(soup.find("title"))
82
+
83
+ None
84
+
85
+ ```
86
+
87
+
88
+
89
+ htmlパーザで扱うのが無理なぐらい壊れているのであれば、行単位に正規表現でマッチさせるなどの方が現実的解でしょう。