質問編集履歴
2
「実現したいこと」の欄に文章を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,6 +5,10 @@
|
|
5
5
|
|
6
6
|
自分が解析しているUberEatsのウェブページではお店の名前が埋め込まれているコードが<div class="fa i8 i9">の中に隠れており、本来は表示されていないためお店の名前のデータを取得しようとしてもできません。
|
7
7
|
|
8
|
+
https://www.ubereats.com/jp/feed?pl=JTdCJTIyYWRkcmVzcyUyMiUzQSUyMiVFNSU5MCU5MSVFNiU5NyVBNSVFNSVCOCU4MiUyMiUyQyUyMnJlZmVyZW5jZSUyMiUzQSUyMkNoSUpMNlpKcGlZRUFXQVI1X0hOWFpWTDZYYyUyMiUyQyUyMnJlZmVyZW5jZVR5cGUlMjIlM0ElMjJnb29nbGVfcGxhY2VzJTIyJTJDJTIybGF0aXR1ZGUlMjIlM0EzNC45NDg3MDYxJTJDJTIybG9uZ2l0dWRlJTIyJTNBMTM1LjY5ODQxNzElN0Q%3D
|
9
|
+
|
10
|
+
上記のページから店名のデータを全て取得しようとしております。
|
11
|
+
|
8
12
|
### 発生している問題・エラーメッセージ
|
9
13
|
|
10
14
|
```Python
|
1
・classのcc el ag bp bqで、l(エル)が1(いち)になっていた ・img altを取得するのにget_text()を使っていたのでfind('img').get("alt")に修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
### 発生している問題・エラーメッセージ
|
9
9
|
|
10
|
-
```
|
10
|
+
```Python
|
11
11
|
import pandas as pd
|
12
12
|
import requests
|
13
13
|
from bs4 import BeautifulSoup
|
@@ -15,8 +15,8 @@
|
|
15
15
|
page = requests.get('https://www.ubereats.com/jp/feed?pl=JTdCJTIyYWRkcmVzcyUyMiUzQSUyMiVFNSU5MCU5MSVFNiU5NyVBNSVFNSVCOCU4MiUyMiUyQyUyMnJlZmVyZW5jZSUyMiUzQSUyMkNoSUpMNlpKcGlZRUFXQVI1X0hOWFpWTDZYYyUyMiUyQyUyMnJlZmVyZW5jZVR5cGUlMjIlM0ElMjJnb29nbGVfcGxhY2VzJTIyJTJDJTIybGF0aXR1ZGUlMjIlM0EzNC45NDg3MDYxJTJDJTIybG9uZ2l0dWRlJTIyJTNBMTM1LjY5ODQxNzElN0Q%3D')
|
16
16
|
soup = BeautifulSoup(page.content, 'html.parser')
|
17
17
|
|
18
|
-
menus = soup.find_all(class_= 'cc
|
18
|
+
menus = soup.find_all(class_= 'cc el ag bp bq')
|
19
|
-
menu_list = [menu.
|
19
|
+
menu_list = [menu.find('img').get("alt") for menu in menus]
|
20
20
|
|
21
21
|
print(menu_list)
|
22
22
|
|
@@ -30,6 +30,16 @@
|
|
30
30
|
|
31
31
|
### 該当のソースコード
|
32
32
|
|
33
|
+
下記のHTMLのソースコードはウェブページのHTMLの一部を抜き出してきたものです。
|
34
|
+
下記のコードをそのままコードの中に入れるのではなく、あくまでも下記のPyhtonのコードを使って該当ページのHTMLデータを取得してスクレイピングしたいのです。
|
35
|
+
|
36
|
+
```Python
|
37
|
+
page = requests.get('https://www.ubereats.com/jp/feed?pl=JTdCJTIyYWRkcmVzcyUyMiUzQSUyMiVFNSU5MCU5MSVFNiU5NyVBNSVFNSVCOCU4MiUyMiUyQyUyMnJlZmVyZW5jZSUyMiUzQSUyMkNoSUpMNlpKcGlZRUFXQVI1X0hOWFpWTDZYYyUyMiUyQyUyMnJlZmVyZW5jZVR5cGUlMjIlM0ElMjJnb29nbGVfcGxhY2VzJTIyJTJDJTIybGF0aXR1ZGUlMjIlM0EzNC45NDg3MDYxJTJDJTIybG9uZ2l0dWRlJTIyJTNBMTM1LjY5ODQxNzElN0Q%3D')
|
38
|
+
soup = BeautifulSoup(page.content, 'html.parser')
|
39
|
+
```
|
40
|
+
|
41
|
+
|
42
|
+
|
33
43
|
```HTML
|
34
44
|
<div class="fa i8 i9">
|
35
45
|
<div class="af ia">
|
@@ -51,6 +61,9 @@
|
|
51
61
|
### 試したこと
|
52
62
|
|
53
63
|
上記に記載した通りfind関数でスクレイピングしようと試みましたが残念ながら。。。
|
64
|
+
以下2点修正いたしましたが以前店名の情報は獲得できずにおります。
|
65
|
+
・classのcc el ag bp bqで、l(エル)が1(いち)になっていた
|
66
|
+
・img altを取得するのにget_text()を使っていたのでfind('img').get("alt")に修正
|
54
67
|
|
55
68
|
|
56
69
|
|