質問編集履歴
1
解答を受け、新たな疑問
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,37 +12,13 @@
|
|
12
12
|
|
13
13
|
### 知りたい事
|
14
14
|
|
15
|
-
h4タグ内のhref属性のみ抽出し、
|
15
|
+
h4タグ内のhref属性のみ抽出し、絶対URLに変換したいが取得したいhref属性が取得されてしまいます。
|
16
|
+
|
17
|
+
自分が取得したいのは各店舗のURLです。
|
18
|
+
|
19
|
+
どのようにタグを指定すればよいのでしょうか。
|
16
20
|
|
17
21
|
|
18
|
-
|
19
|
-
tagオブジェクト。getText()も試しましたがAttributeErrorが出ます。
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
調べながら書いているので先のコードは全くできていませんが、この質問では、店舗名部分のh4タグからhrefを取り出してリスト化する方法をご教授願いたいです。
|
24
|
-
|
25
|
-
最初から店舗のhrefを取り出す方法してリスト化する方法でも構いません。
|
26
|
-
|
27
|
-
for ではなく url_list=("href")に繋げたいです。
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
### 試したコード
|
32
|
-
|
33
|
-
```
|
34
|
-
|
35
|
-
for a in soup_findAll('h4'):
|
36
|
-
|
37
|
-
print(a.get('html'))
|
38
|
-
|
39
|
-
```
|
40
|
-
|
41
|
-
```
|
42
|
-
|
43
|
-
url_list=soup.findAll('h4 a href')
|
44
|
-
|
45
|
-
```
|
46
22
|
|
47
23
|
### 自分で書いたコード(途中)
|
48
24
|
|
@@ -50,42 +26,70 @@
|
|
50
26
|
|
51
27
|
```
|
52
28
|
|
53
|
-
import time
|
54
|
-
|
55
|
-
import csv
|
56
|
-
|
57
29
|
import requests
|
58
30
|
|
59
|
-
from bs4 import
|
31
|
+
from bs4 import BeautifulSoup
|
32
|
+
|
33
|
+
from urllib.parse import urljoin
|
60
34
|
|
61
35
|
|
62
36
|
|
63
|
-
url =
|
37
|
+
shop_list_url = 'https://ramendb.supleks.jp/search?q=&state=&order=point&station-id=&tag%5B%5D=3&type='
|
64
|
-
|
65
|
-
soup = BeautifulSoup(url.text,"html.parser")
|
66
38
|
|
67
39
|
|
68
40
|
|
69
|
-
url_list = soup.select('h4 a') #取得URL、店舗名
|
70
|
-
|
71
|
-
|
41
|
+
ua = ""
|
72
|
-
|
73
|
-
print(link.get("href")) #取得URL出力
|
74
42
|
|
75
43
|
|
76
44
|
|
77
|
-
|
45
|
+
#大元URL
|
78
46
|
|
47
|
+
base_url = 'https://ramendb.supleks.jp'
|
48
|
+
|
49
|
+
#検索URL
|
50
|
+
|
51
|
+
shop_url = base_url + "/search?page=1&order=point&station-id=0&tags=3"
|
52
|
+
|
53
|
+
page = requests.get(shop_url,headers={"User-Agent" : ua})
|
54
|
+
|
79
|
-
soup = BeautifulSoup(
|
55
|
+
soup = BeautifulSoup(page.text,"html.parser")
|
80
56
|
|
81
57
|
|
82
58
|
|
59
|
+
for a in soup.select("h4 a"):
|
60
|
+
|
83
|
-
|
61
|
+
shop_url_list = urljoin(shop_url,a.get("href"))
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
print(shop_url_list)
|
84
66
|
|
85
67
|
|
86
68
|
|
87
69
|
```
|
88
70
|
|
71
|
+
### 返し
|
72
|
+
|
73
|
+
```
|
74
|
+
|
75
|
+
print(shop_url_list)
|
76
|
+
|
77
|
+
https://ramendb.supleks.jp/rank/hot-shop
|
78
|
+
|
79
|
+
```
|
80
|
+
|
81
|
+
### 試したコード
|
82
|
+
|
83
|
+
```
|
84
|
+
|
85
|
+
for a in soup.select("#searched > h4 > a"):
|
86
|
+
|
87
|
+
shop_url_list = urljoin(shop_url,a.get("href"))
|
88
|
+
|
89
|
+
```
|
90
|
+
|
91
|
+
|
92
|
+
|
89
93
|
|
90
94
|
|
91
95
|
至らぬ点が多いと思いますが、宜しくお願い致します。
|