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

質問編集履歴

2

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

2020/09/04 06:08

投稿

tatsuya5.22
tatsuya5.22

スコア8

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")に修正

2020/09/04 06:08

投稿

tatsuya5.22
tatsuya5.22

スコア8

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 e1 ag bp bq')
18
+ menus = soup.find_all(class_= 'cc el ag bp bq')
19
- menu_list = [menu.get_text() for menu in menus]
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