質問編集履歴

6

ご指摘により情報追記しました!

2018/11/08 02:07

投稿

hachico
hachico

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- Win7 LiteIDEにてGoを書いています。
1
+ 64bit Win7 LiteIDEにてGoを書いています。
2
2
 
3
3
  スクレイピングのコードを書いていて困っています。
4
4
 
@@ -40,7 +40,9 @@
40
40
 
41
41
  ①の方法で、Build&RunのIDEでの出力結果が日本語になってくれれば一番うれしいのですが…
42
42
 
43
- ちなみに、ファイル出力するとちゃんとutf-8で見えます。
43
+ ちなみに、csvファイル出力して、sakuraエディタで表示するとちゃんとutf-8で見えます。
44
+
45
+
44
46
 
45
47
 
46
48
 

5

ファイル出力は問題ない旨、情報を追加しました

2018/11/08 02:07

投稿

hachico
hachico

スコア12

test CHANGED
File without changes
test CHANGED
@@ -40,11 +40,13 @@
40
40
 
41
41
  ①の方法で、Build&RunのIDEでの出力結果が日本語になってくれれば一番うれしいのですが…
42
42
 
43
+ ちなみに、ファイル出力するとちゃんとutf-8で見えます。
44
+
43
45
 
44
46
 
45
47
  少しでも何かご存知の方、よろしくお願いいたします!
46
48
 
47
- ※すみませんリクエスト先はご容赦ください
49
+
48
50
 
49
51
 
50
52
 

4

ソース内容ダミーで動くものに変更ました。

2018/11/07 09:03

投稿

hachico
hachico

スコア12

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
  func main() {
72
72
 
73
- url := "https://xxxxx"
73
+ url := "https://www.google.co.jp/search?q=%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3&oq=%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3&aqs=chrome..69i57j0l5.7015j0j7&sourceid=chrome&ie=UTF-8"
74
74
 
75
75
  doc, err := goquery.NewDocument(url)
76
76
 
@@ -82,11 +82,11 @@
82
82
 
83
83
  // search
84
84
 
85
- doc.Find("span.test_class").Each(func(i int, s *goquery.Selection) {
85
+ doc.Find("a").Each(func(i int, s *goquery.Selection) {
86
86
 
87
- fmt.Printf("Title: %s \n", s.Text())
87
+ fmt.Printf(s.Text())
88
88
 
89
- //文字化けします
89
+ //日本語は文字化けします
90
90
 
91
91
  })
92
92
 
@@ -118,7 +118,7 @@
118
118
 
119
119
  func main() {
120
120
 
121
- url := "https://xxxxx"
121
+ url := "https://www.google.co.jp/search?q=%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3&oq=%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3&aqs=chrome..69i57j0l5.7015j0j7&sourceid=chrome&ie=UTF-8"
122
122
 
123
123
  req, _ := http.NewRequest("GET", url, nil)
124
124
 
@@ -142,7 +142,7 @@
142
142
 
143
143
 
144
144
 
145
- selection := doc.Find("span.test_class")
145
+ selection := doc.Find("a")
146
146
 
147
147
  selection.Each(func(index int, s *goquery.Selection) {
148
148
 

3

header情報についてのコメントを追加しました

2018/11/07 08:58

投稿

hachico
hachico

スコア12

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,9 @@
16
16
 
17
17
  req, _ := http.NewRequest("GET", url, nil)
18
18
 
19
- req.Header.Add("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1")
19
+ req.Header.Add("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143
20
+
21
+ Safari/601.1")
20
22
 
21
23
  client := new(http.Client)
22
24
 
@@ -29,6 +31,8 @@
29
31
  ⇒文字化けしないのですが、doc.Find("")CSSセレクタの挙動が変
30
32
 
31
33
  ちなみにHeaderセットしないと文字化けします…
34
+
35
+ ※HeaderもUserAgentが変わるとやっぱり文字化けします。。
32
36
 
33
37
 
34
38
 

2

コードの貼り付けをしました!

2018/11/06 09:20

投稿

hachico
hachico

スコア12

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,8 @@
40
40
 
41
41
  少しでも何かご存知の方、よろしくお願いいたします!
42
42
 
43
+ ※すみませんリクエスト先はご容赦ください
44
+
43
45
 
44
46
 
45
47
  ```ここに言語を入力
@@ -80,8 +82,80 @@
80
82
 
81
83
  fmt.Printf("Title: %s \n", s.Text())
82
84
 
85
+ //文字化けします
86
+
83
87
  })
84
88
 
85
89
 
86
90
 
87
91
  ```
92
+
93
+
94
+
95
+ ```ここに言語を入力
96
+
97
+ package main
98
+
99
+
100
+
101
+ import (
102
+
103
+ "fmt"
104
+
105
+ "net/http"
106
+
107
+
108
+
109
+ "github.com/PuerkitoBio/goquery"
110
+
111
+ )
112
+
113
+
114
+
115
+ func main() {
116
+
117
+ url := "https://xxxxx"
118
+
119
+ req, _ := http.NewRequest("GET", url, nil)
120
+
121
+ req.Header.Add("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1")
122
+
123
+ client := new(http.Client)
124
+
125
+ resp, _ := client.Do(req)
126
+
127
+ defer resp.Body.Close()
128
+
129
+
130
+
131
+ doc, err = goquery.NewDocumentFromResponse(resp)
132
+
133
+ if err != nil {
134
+
135
+ panic(err)
136
+
137
+ }
138
+
139
+
140
+
141
+ selection := doc.Find("span.test_class")
142
+
143
+ selection.Each(func(index int, s *goquery.Selection) {
144
+
145
+ fmt.Printf("Title: %s \n", s.Text())
146
+
147
+ //結果がゼロ件になります
148
+
149
+ })
150
+
151
+ //println(selection.Text())
152
+
153
+
154
+
155
+ //defer doc.Body.Close()
156
+
157
+ }
158
+
159
+
160
+
161
+ ```

1

ソースの貼り付け

2018/11/06 08:05

投稿

hachico
hachico

スコア12

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,49 @@
39
39
 
40
40
 
41
41
  少しでも何かご存知の方、よろしくお願いいたします!
42
+
43
+
44
+
45
+ ```ここに言語を入力
46
+
47
+ package main
48
+
49
+
50
+
51
+ import (
52
+
53
+ "fmt"
54
+
55
+ "net/http"
56
+
57
+
58
+
59
+ "github.com/PuerkitoBio/goquery"
60
+
61
+ )
62
+
63
+
64
+
65
+ func main() {
66
+
67
+ url := "https://xxxxx"
68
+
69
+ doc, err := goquery.NewDocument(url)
70
+
71
+ if err != nil {
72
+
73
+ fmt.Println(err.Error())
74
+
75
+ }
76
+
77
+ // search
78
+
79
+ doc.Find("span.test_class").Each(func(i int, s *goquery.Selection) {
80
+
81
+ fmt.Printf("Title: %s \n", s.Text())
82
+
83
+ })
84
+
85
+
86
+
87
+ ```