回答編集履歴

4

間違いの修正

2021/03/14 05:35

投稿

xail2222
xail2222

スコア1497

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ```python
28
28
 
29
- import bs4.BeautifulSoup as soup
29
+ from bs4 import BeautifulSoup
30
30
 
31
31
  import requests
32
32
 

3

野球との違いを記載

2021/03/14 05:35

投稿

xail2222
xail2222

スコア1497

test CHANGED
@@ -20,9 +20,9 @@
20
20
 
21
21
  他のエラーもあったので調べてみました。
22
22
 
23
+ [pd.read_html()で取得したtableがlistになってしまう](https://teratail.com/questions/188717)
24
+
23
25
  [requestの使い方](https://qiita.com/__init__/items/d53a281ef757b22f4732)
24
-
25
- [pd.read_html()で取得したtableがlistになってしまう](https://teratail.com/questions/188717)
26
26
 
27
27
  ```python
28
28
 
@@ -42,7 +42,7 @@
42
42
 
43
43
  soup = BeautifulSoup(get_url_info.text, "html.parser")
44
44
 
45
- table = soup.find_all("table")
45
+ table = soup.find_all("table", id="table_ranking")
46
46
 
47
47
  data = pd.read_html(str(table))[0]
48
48
 
@@ -54,4 +54,4 @@
54
54
 
55
55
 
56
56
 
57
- 逆に野球の方がなぜ問題なは、だ調べ中…
57
+ 野球の方はtable一つしかないからたたまできていたようですね。

2

野球との違いについてわからないことを追記。

2021/03/13 21:54

投稿

xail2222
xail2222

スコア1497

test CHANGED
@@ -51,3 +51,7 @@
51
51
  これでデータが取れますね。あと、サッカーの方には"年棒"というカラムはなく
52
52
 
53
53
  "2020年 年俸"というカラムになってるようですね。
54
+
55
+
56
+
57
+ 逆に野球の方がなぜ問題ないのかは、まだ調べ中…

1

色々修正

2021/03/13 21:42

投稿

xail2222
xail2222

スコア1497

test CHANGED
@@ -1,4 +1,4 @@
1
- 日本語がまずいみたいですね。
1
+ 提示のエラーが出る理由は日本語だからのようですね。
2
2
 
3
3
 
4
4
 
@@ -8,6 +8,46 @@
8
8
 
9
9
  import urllib.parse
10
10
 
11
+ <略>
12
+
11
- teams = [urllib.parse.quote('FC東京'),urllib.parse.quote('アビスパ福岡')]
13
+ url = base_url+'?team='+ urllib.parse.quote(team) +'&year='+str(year)
12
14
 
13
15
  ```
16
+
17
+ ---
18
+
19
+ (追記)
20
+
21
+ 他のエラーもあったので調べてみました。
22
+
23
+ [requestの使い方](https://qiita.com/__init__/items/d53a281ef757b22f4732)
24
+
25
+ [pd.read_html()で取得したtableがlistになってしまう](https://teratail.com/questions/188717)
26
+
27
+ ```python
28
+
29
+ import bs4.BeautifulSoup as soup
30
+
31
+ import requests
32
+
33
+
34
+
35
+ def ScrapingProfileData(url,team,year):
36
+
37
+ # requestで内容取得
38
+
39
+ get_url_info = requests.get(url)
40
+
41
+ # BeautifulSoupでパース
42
+
43
+ soup = BeautifulSoup(get_url_info.text, "html.parser")
44
+
45
+ table = soup.find_all("table")
46
+
47
+ data = pd.read_html(str(table))[0]
48
+
49
+ ```
50
+
51
+ これでデータが取れますね。あと、サッカーの方には"年棒"というカラムはなく
52
+
53
+ "2020年 年俸"というカラムになってるようですね。