質問編集履歴
3
説明追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
|
4
4
|
唯一 styleでwidth 40 width60 とで 見出しと値が対になって判別できる為
|
5
5
|
これを見出しと値を 対にして 辞書型にすれば解決できるのではと思いました。
|
6
|
+
|
6
7
|
```html
|
7
8
|
<ul>
|
8
9
|
|
@@ -58,4 +59,7 @@
|
|
58
59
|
File "<ipython-input-51-b737eb51cd68>", line 3
|
59
60
|
if tag.name == ('li',style.value'width: 40%;'):
|
60
61
|
^
|
61
|
-
SyntaxError: invalid syntax
|
62
|
+
SyntaxError: invalid syntax
|
63
|
+
|
64
|
+
##この方法に拘っていませんが・・
|
65
|
+
※参照元ページは各ページで <li>の数が異なるのでsoul.select でCSSセレクターで取得すると、各ページで変数に入る値が異なるので、見出しをキーにして値を取り出したいです
|
2
verを追加
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
python3 BS4 find_all で<li>をスタイル(width)で判別、見出しと値の辞書を作成するには
|
body
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
|
1
|
+
Python3 beautiful soup4 で スクレイピングしているのですが
|
2
2
|
IDが元ソースに付与されておらず、取得したい部分が<li> </li>ばかりで、またページにより 項目数<li>の数が変わるので、決まった値を取得するのに難航しています。
|
3
3
|
|
4
4
|
唯一 styleでwidth 40 width60 とで 見出しと値が対になって判別できる為
|
5
|
-
これを見出しと値を 対にして 辞書にした
|
5
|
+
これを見出しと値を 対にして 辞書型にすれば解決できるのではと思いました。
|
6
6
|
```html
|
7
7
|
<ul>
|
8
8
|
|
1
説明を詳しくしました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Python beautiful soup4 で スクレイピングしているのですが
|
2
2
|
IDが元ソースに付与されておらず、取得したい部分が<li> </li>ばかりで、またページにより 項目数<li>の数が変わるので、決まった値を取得するのに難航しています。
|
3
3
|
|
4
|
-
唯一 styleでwidth 40 width60 とで 見出しと値が対になって判別でき
|
4
|
+
唯一 styleでwidth 40 width60 とで 見出しと値が対になって判別できる為
|
5
5
|
これを見出しと値を 対にして 辞書にしたいです
|
6
6
|
```html
|
7
7
|
<ul>
|
@@ -20,8 +20,8 @@
|
|
20
20
|
</ul>
|
21
21
|
```
|
22
22
|
|
23
|
+
<li><li>タグではなくテーブルタグ <th></th> <tr></tr>で見出しと値が対になっている場合は 下記方法でできるので、これを応用して<li>のスタイル width 40 width 60% で判別してできないかと考えたのですが・・
|
23
|
-
|
24
|
+
```HTML thとtdが見出しと値で対になっている場合はできる
|
24
|
-
```HTML
|
25
25
|
dict={}
|
26
26
|
for tag in soup.find_all(['th', 'td']):
|
27
27
|
if tag.name == 'th':
|