質問編集履歴

1

該当HTMLを記載しました

2020/03/26 14:59

投稿

shiratamadango
shiratamadango

スコア9

test CHANGED
File without changes
test CHANGED
@@ -1,16 +1,36 @@
1
1
  ### 前提・実現したいこと
2
+
3
+ あるサイトのリンクを抽出しているのですが、URL上にあるすべてのリンクではなくclass=HorseName以下のリンクのみ抽出したいと思っています。
2
4
 
3
5
 
4
6
 
5
- 競馬サイト内特定のリンクのみ(馬のリンクのみ)抽出したいのですが、うまくいきません。
7
+ ### 該当ソースコード
6
8
 
7
9
 
8
10
 
11
+ from bs4 import BeautifulSoup
12
+
9
- ### 発生している問題・エラーメッセージ
13
+ import urllib.request as req
10
14
 
11
15
 
12
16
 
13
17
 
18
+
19
+ url = "https://race.netkeiba.com/race/shutuba.html?race_id=202006030111&rf=race_list"
20
+
21
+ res = req.urlopen(url)
22
+
23
+ soup = BeautifulSoup(res, 'html.parser')
24
+
25
+ url_items = soup.find_all(class_='HorseName')
26
+
27
+ for x in url_items:
28
+
29
+ print(x.get('href'))
30
+
31
+ ### 発生している問題・エラーメッセージ
32
+
33
+ 上記を実行すると以下のようにNoneがかえります。
14
34
 
15
35
  None
16
36
 
@@ -44,32 +64,42 @@
44
64
 
45
65
 
46
66
 
47
- ### 該当のソースコード
48
-
49
-
50
-
51
- from bs4 import BeautifulSoup
52
-
53
- import urllib.request as req
54
67
 
55
68
 
56
69
 
57
70
 
58
-
59
- url = "https://race.netkeiba.com/race/shutuba.html?race_id=202006030111&rf=race_list"
60
-
61
- res = req.urlopen(url)
62
-
63
- soup = BeautifulSoup(res, 'html.parser')
64
-
65
- url_items = soup.find_all(class_='HorseName')
66
-
67
- for x in url_items:
68
-
69
- print(x.get('href'))
71
+ なお抽出したいリンクを含むHTMLは以下の通りです。
70
72
 
71
73
 
72
74
 
75
+ <div>
76
+
77
+ <span class="HorseName">
78
+
79
+ <a title="アイスバブル"
80
+
81
+ href="https://db.netkeiba.com/horse/2015104689" target="_blank">アイスバブル<img width="18" class="disp_none Favorite" id="myhorse_2015104689" alt="" src="https://cdn.netkeiba.com/img.racev3/common/img/icon/icon_horse.png?2019073001">
82
+
83
+ </a>
84
+
85
+ </span>
86
+
87
+
88
+
89
+ </div>
90
+
73
91
  ### 試したこと
74
92
 
75
- class_タグaで試したもできせんでした
93
+ 上記の状態でprint(x)実行すると以下のように返り
94
+
95
+
96
+
97
+ <span class="HorseName"><a href="https://db.netkeiba.com/horse/2015105090" target="_blank" title="レッドレオン">レッドレオン<img alt="" class="disp_none Favorite" id="myhorse_2015105090" src="https://cdn.netkeiba.com/img.racev3/common/img/icon/icon_horse.png?2019073001" width="18"/></a></span>
98
+
99
+
100
+
101
+ HTMLは抽出できているのですが、この中の
102
+
103
+ a href="https://db.netkeiba.com/horse/2015105090"
104
+
105
+ のリンクの抽出が上手にいってないようです。