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

質問編集履歴

5

追記の解決

2018/09/19 22:03

投稿

tyobit
tyobit

スコア17

title CHANGED
File without changes
body CHANGED
@@ -30,15 +30,22 @@
30
30
  ```
31
31
  とした場合は!を含む文字列の数分Noneと出力されるだけでした
32
32
 
33
- **追記**
33
+ **追記 解決**
34
34
  ```python
35
35
  soup.find("title",text=re.compile("!")).name
36
36
  ```
37
- としたところ、titleに!が含まれていた場合はtitleと返ってくるのですが、含まれていない場合
37
+ ~~としたところ、titleに!が含まれていた場合はtitleと返ってくるのですが、含まれていない場合~~
38
38
  > AttributeError: 'NoneType' object has no attribute 'name'
39
39
 
40
- となりました
40
+ ~~となりました~~
41
41
 
42
+ ```python
43
+ found = soup.find("title",text=re.compile("!"))
44
+ if found is not None:
45
+ print(found.name)
46
+ ```
47
+ とすることでエラーを回避できました
48
+
42
49
  **追記**
43
50
  最終的にはどのようなHTMLファイルに対応できるようにしたいですが現状は以下のようなHTMLファイルを扱っています。
44
51
  ```Html

4

誤字の修正

2018/09/19 22:03

投稿

tyobit
tyobit

スコア17

title CHANGED
File without changes
body CHANGED
@@ -36,8 +36,9 @@
36
36
  ```
37
37
  としたところ、titleに!が含まれていた場合はtitleと返ってくるのですが、含まれていない場合
38
38
  > AttributeError: 'NoneType' object has no attribute 'name'
39
- となりましら
40
39
 
40
+ となりました
41
+
41
42
  **追記**
42
43
  最終的にはどのようなHTMLファイルに対応できるようにしたいですが現状は以下のようなHTMLファイルを扱っています。
43
44
  ```Html

3

追記を追加

2018/09/19 21:36

投稿

tyobit
tyobit

スコア17

title CHANGED
File without changes
body CHANGED
@@ -36,4 +36,23 @@
36
36
  ```
37
37
  としたところ、titleに!が含まれていた場合はtitleと返ってくるのですが、含まれていない場合
38
38
  > AttributeError: 'NoneType' object has no attribute 'name'
39
- となりましら
39
+ となりましら
40
+
41
+ **追記**
42
+ 最終的にはどのようなHTMLファイルに対応できるようにしたいですが現状は以下のようなHTMLファイルを扱っています。
43
+ ```Html
44
+ <!DOCTYPE html>
45
+ <html>
46
+ <head>
47
+ <meta charset="utf-8">
48
+ <title>太字テスト</title>
49
+ <link rel="stylesheet" href="stylesheet.css">
50
+ </head>
51
+ <body>
52
+ <div class="normal">これは普通の文章です。</div>
53
+ <div class="ep">この文章は強調の文章です!</div>
54
+   <div class="normal">これは<span class="ep2">この部分が!</span>強調の文章です。</div>
55
+ </body>
56
+ </html>
57
+ ```
58
+ この場合、取得したいものは<div class="ep">と<span class="ep2">になります。

2

追記を追加

2018/09/19 21:23

投稿

tyobit
tyobit

スコア17

title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,12 @@
28
28
  for text in soup.find_all(text=re.compile("!")):
29
29
  print(text.name)
30
30
  ```
31
- とした場合は!を含む文字列の数分Noneと出力されるだけでした
31
+ とした場合は!を含む文字列の数分Noneと出力されるだけでした
32
+
33
+ **追記**
34
+ ```python
35
+ soup.find("title",text=re.compile("!")).name
36
+ ```
37
+ としたところ、titleに!が含まれていた場合はtitleと返ってくるのですが、含まれていない場合
38
+ > AttributeError: 'NoneType' object has no attribute 'name'
39
+ となりましら

1

追記を追加

2018/09/19 21:16

投稿

tyobit
tyobit

スコア17

title CHANGED
File without changes
body CHANGED
@@ -19,4 +19,13 @@
19
19
  とすればdivタグが返ってくるのですが、これだと全てのタグに関してfindメソッドをする必要が出てきてしまうように感じます。
20
20
 
21
21
  なにか良い方法は無いでしょうか
22
- アドバイス等よろしくお願い申し上げます
22
+ アドバイス等よろしくお願い申し上げます
23
+
24
+
25
+
26
+ **追記**
27
+ ```python
28
+ for text in soup.find_all(text=re.compile("!")):
29
+ print(text.name)
30
+ ```
31
+ とした場合は!を含む文字列の数分Noneと出力されるだけでした