回答編集履歴

6

追記

2018/06/14 06:06

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -63,3 +63,19 @@
63
63
 
64
64
 
65
65
  検索に失敗する場合については考慮していませんので、ご注意ください。
66
+
67
+
68
+
69
+ さらにコメントを受けて
70
+
71
+ ---
72
+
73
+ こういうことでしょうか。
74
+
75
+ ```Python
76
+
77
+ purpose = '//xx.jp/{id}/xxx.jpg'.format(id=画像id)
78
+
79
+ href = soup.find('img', src=purpose).parent['href']
80
+
81
+ ```

5

修正

2018/06/14 06:06

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  purpose = '//xx.jp/画像ID/xxx.jpg'
58
58
 
59
- href = soup.find_all('img', src=purpose)[0].parent['href']
59
+ href = soup.find('img', src=purpose).parent['href']
60
60
 
61
61
  ```
62
62
 

4

追記

2018/06/14 05:41

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -59,3 +59,7 @@
59
59
  href = soup.find_all('img', src=purpose)[0].parent['href']
60
60
 
61
61
  ```
62
+
63
+
64
+
65
+ 検索に失敗する場合については考慮していませんので、ご注意ください。

3

追記

2018/06/14 05:41

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -50,4 +50,12 @@
50
50
 
51
51
 
52
52
 
53
- ただ、もっと簡単に書く方法がありそうな気もします。
53
+ ただ、もっと簡単に書く方法が~~ありそうな気もします。~~ ありました。
54
+
55
+ ```Python
56
+
57
+ purpose = '//xx.jp/画像ID/xxx.jpg'
58
+
59
+ href = soup.find_all('img', src=purpose)[0].parent['href']
60
+
61
+ ```

2

追記

2018/06/14 05:40

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -21,3 +21,33 @@
21
21
  print(a.find('img').get('src'))
22
22
 
23
23
  ```
24
+
25
+
26
+
27
+ コメントを受けて
28
+
29
+ ---
30
+
31
+ 思いつくままに強引に書くとこんな風になるでしょうね。
32
+
33
+ ```Python
34
+
35
+ purpose = '//xx.jp/画像ID/xxx.jpg'
36
+
37
+ for a in soup.find_all('a'):
38
+
39
+ if a.img['src'] == purpose:
40
+
41
+ href = a['href']
42
+
43
+ break
44
+
45
+ else:
46
+
47
+ href = None
48
+
49
+ ```
50
+
51
+
52
+
53
+ ただ、もっと簡単に書く方法がありそうな気もします。

1

追記

2018/06/14 05:35

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -7,3 +7,17 @@
7
7
  print(a.get('href'))
8
8
 
9
9
  ```
10
+
11
+
12
+
13
+ ひょっとしてこういうことですかね。
14
+
15
+ ```Python
16
+
17
+ for a in soup.find_all('a'):
18
+
19
+ print(a.get('href'))
20
+
21
+ print(a.find('img').get('src'))
22
+
23
+ ```