回答編集履歴

6

コード修正

2021/10/31 03:26

投稿

fj68
fj68

スコア752

test CHANGED
@@ -156,7 +156,7 @@
156
156
 
157
157
  # [[shopの社名, shopの住所, shopのTEL], [...], ...]に変換
158
158
 
159
- data = [[shop['name'], shop['address'], shop['tel'] for shop in shops]
159
+ data = [[shop['name'], shop['address'], shop['tel']] for shop in shops]
160
160
 
161
161
  df = pd.DataFrame(data, columns=['社名', '住所', 'TEL'])
162
162
 

5

コード修正

2021/10/31 03:26

投稿

fj68
fj68

スコア752

test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
  shop['address'] = address.text
86
86
 
87
- tel = shop_el.find('p', attrs = {'class':'shop_tel'})
87
+ tel = shop_el.find('p', attrs={'class':'shop_tel'})
88
88
 
89
89
  if tel:
90
90
 

4

表記修正

2021/10/27 08:12

投稿

fj68
fj68

スコア752

test CHANGED
@@ -124,11 +124,11 @@
124
124
 
125
125
 
126
126
 
127
- `get_shops()`では`shop`ごとに`{'name': '...', 'address': '...', 'tel': '...'}`という辞書を作ってその配列を返すようにしています。
127
+ `get_shops()`では`shop`ごとに`{'name': '...', 'address': '...', 'tel': '...'}`という辞書を作ってそのリストを返すようにしています。
128
128
 
129
129
 
130
130
 
131
- `name`/`address`/`tel`それぞれの配列がほしければ以下のようにしましょう。
131
+ `name`/`address`/`tel`それぞれのリストがほしければ以下のようにしましょう。
132
132
 
133
133
 
134
134
 

3

誤字修正

2021/10/27 08:09

投稿

fj68
fj68

スコア752

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- ということは`base_url`を`https://el.e-shops.jp/local/jb/6008/jn/6000523/cn/23109/`とすると、1ページ目は`base_url + '2.html'`、3ページ目は`base_url + '3.html'`……となっているわけです。
5
+ ということは`base_url`を`https://el.e-shops.jp/local/jb/6008/jn/6000523/cn/23109/`とすると、2ページ目は`base_url + '2.html'`、3ページ目は`base_url + '3.html'`……となっているわけです。
6
6
 
7
7
 
8
8
 

2

dataframeへの変換を追記

2021/10/27 08:08

投稿

fj68
fj68

スコア752

test CHANGED
@@ -141,3 +141,23 @@
141
141
  tels = [shop['tel'] for shop in shops]
142
142
 
143
143
  ```
144
+
145
+
146
+
147
+ これらを一列づつ追加してもいいですが、一気に`pd.Dataframe`にした方がいい気がします。
148
+
149
+
150
+
151
+ ```python
152
+
153
+ import pandas as pd
154
+
155
+
156
+
157
+ # [[shopの社名, shopの住所, shopのTEL], [...], ...]に変換
158
+
159
+ data = [[shop['name'], shop['address'], shop['tel'] for shop in shops]
160
+
161
+ df = pd.DataFrame(data, columns=['社名', '住所', 'TEL'])
162
+
163
+ ```

1

説明とコードを追記

2021/10/27 08:07

投稿

fj68
fj68

スコア752

test CHANGED
@@ -125,3 +125,19 @@
125
125
 
126
126
 
127
127
  `get_shops()`では`shop`ごとに`{'name': '...', 'address': '...', 'tel': '...'}`という辞書を作ってその配列を返すようにしています。
128
+
129
+
130
+
131
+ `name`/`address`/`tel`それぞれの配列がほしければ以下のようにしましょう。
132
+
133
+
134
+
135
+ ```python
136
+
137
+ names = [shop['name'] for shop in shops]
138
+
139
+ address = [shop['address'] for shop in shops]
140
+
141
+ tels = [shop['tel'] for shop in shops]
142
+
143
+ ```