質問編集履歴

2

「実現したいこと」の欄に文章を追加

2020/09/04 06:08

投稿

tatsuya5.22
tatsuya5.22

スコア8

test CHANGED
File without changes
test CHANGED
@@ -9,6 +9,14 @@
9
9
 
10
10
 
11
11
  自分が解析しているUberEatsのウェブページではお店の名前が埋め込まれているコードが<div class="fa i8 i9">の中に隠れており、本来は表示されていないためお店の名前のデータを取得しようとしてもできません。
12
+
13
+
14
+
15
+ https://www.ubereats.com/jp/feed?pl=JTdCJTIyYWRkcmVzcyUyMiUzQSUyMiVFNSU5MCU5MSVFNiU5NyVBNSVFNSVCOCU4MiUyMiUyQyUyMnJlZmVyZW5jZSUyMiUzQSUyMkNoSUpMNlpKcGlZRUFXQVI1X0hOWFpWTDZYYyUyMiUyQyUyMnJlZmVyZW5jZVR5cGUlMjIlM0ElMjJnb29nbGVfcGxhY2VzJTIyJTJDJTIybGF0aXR1ZGUlMjIlM0EzNC45NDg3MDYxJTJDJTIybG9uZ2l0dWRlJTIyJTNBMTM1LjY5ODQxNzElN0Q%3D
16
+
17
+
18
+
19
+ 上記のページから店名のデータを全て取得しようとしております。
12
20
 
13
21
 
14
22
 

1

・classのcc el ag bp bqで、l(エル)が1(いち)になっていた ・img altを取得するのにget_text()を使っていたのでfind('img').get("alt")に修正

2020/09/04 06:08

投稿

tatsuya5.22
tatsuya5.22

スコア8

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- ```
19
+ ```Python
20
20
 
21
21
  import pandas as pd
22
22
 
@@ -32,9 +32,9 @@
32
32
 
33
33
 
34
34
 
35
- menus = soup.find_all(class_= 'cc e1 ag bp bq')
35
+ menus = soup.find_all(class_= 'cc el ag bp bq')
36
36
 
37
- menu_list = [menu.get_text() for menu in menus]
37
+ menu_list = [menu.find('img').get("alt") for menu in menus]
38
38
 
39
39
 
40
40
 
@@ -59,6 +59,26 @@
59
59
 
60
60
 
61
61
  ### 該当のソースコード
62
+
63
+
64
+
65
+ 下記のHTMLのソースコードはウェブページのHTMLの一部を抜き出してきたものです。
66
+
67
+ 下記のコードをそのままコードの中に入れるのではなく、あくまでも下記のPyhtonのコードを使って該当ページのHTMLデータを取得してスクレイピングしたいのです。
68
+
69
+
70
+
71
+ ```Python
72
+
73
+ page = requests.get('https://www.ubereats.com/jp/feed?pl=JTdCJTIyYWRkcmVzcyUyMiUzQSUyMiVFNSU5MCU5MSVFNiU5NyVBNSVFNSVCOCU4MiUyMiUyQyUyMnJlZmVyZW5jZSUyMiUzQSUyMkNoSUpMNlpKcGlZRUFXQVI1X0hOWFpWTDZYYyUyMiUyQyUyMnJlZmVyZW5jZVR5cGUlMjIlM0ElMjJnb29nbGVfcGxhY2VzJTIyJTJDJTIybGF0aXR1ZGUlMjIlM0EzNC45NDg3MDYxJTJDJTIybG9uZ2l0dWRlJTIyJTNBMTM1LjY5ODQxNzElN0Q%3D')
74
+
75
+ soup = BeautifulSoup(page.content, 'html.parser')
76
+
77
+ ```
78
+
79
+
80
+
81
+
62
82
 
63
83
 
64
84
 
@@ -104,6 +124,12 @@
104
124
 
105
125
  上記に記載した通りfind関数でスクレイピングしようと試みましたが残念ながら。。。
106
126
 
127
+ 以下2点修正いたしましたが以前店名の情報は獲得できずにおります。
128
+
129
+ ・classのcc el ag bp bqで、l(エル)が1(いち)になっていた
130
+
131
+ ・img altを取得するのにget_text()を使っていたのでfind('img').get("alt")に修正
132
+
107
133
 
108
134
 
109
135