qiita_trend 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +159 -18
- data/lib/qiita_trend/version.rb +1 -1
- data/qiita_trend.gif +0 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67f621ef51f4952e930e558fc7a001a39dd14544609df431308315cdfd803d9b
|
4
|
+
data.tar.gz: 1a386d98d6c15d9dda039c3a560ae19c0f181a7085c1cfb60159849bb7ecde31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7f38145d52040ca27b5f9e1d33c415198485dee42699b097ca79995eb8f53f293c7a2cb98ea4163120d61125465e1cf1bbf190efadba3d2c48c8bef76a895ac
|
7
|
+
data.tar.gz: 968142b1d157328b68d3401fbfb785c4f830cb985f420944bb33a3628ca2787c9b8a49114e3032d4035928f353830a77718505240db45012dafbf4b6428196fb
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -3,11 +3,17 @@
|
|
3
3
|
|
4
4
|
[](https://badge.fury.io/rb/qiita_trend) [](https://github.com/dodonki1223/qiita_trend/blob/master/LICENSE.txt) [](https://circleci.com/gh/dodonki1223/qiita_trend/tree/master)
|
5
5
|
|
6
|
-
Qiita
|
6
|
+
Qiitaのトレンドを10秒で取得することができます
|
7
|
+
|
8
|
+

|
7
9
|
|
8
10
|
## 概要
|
9
11
|
|
10
|
-
[Qiita](https://qiita.com/)のTOPページをスクレイピングしDailyのトレンドを取得します
|
12
|
+
- [Qiita](https://qiita.com/)のTOPページをスクレイピングしDaily、Weekly、Monthlyのトレンドを取得します
|
13
|
+
- トレンドはDaily、Weekly、Monthlyそれぞれを日付と更新時間(5時と17時)の組み合わせごとにキャッシュを行います
|
14
|
+
- Weekly、Monthlyに関してはQiitaにログインしないと取得できないためユーザー名とパスワード設定する必要があります(Dailyに関しては何も設定しなくても取得できます)
|
15
|
+
- 過去のトレンドを取得することができます(**あくまでもキャッシュファイルから復元するためキャッシュファイルの無い過去のトレンドは取得することができません**)
|
16
|
+
- いいね数は性質上取得した時の時間に依存します。どうしても現在時刻のいいね数が欲しい場合はキャシュファイルを手動で削除してもう一度実行してください
|
11
17
|
|
12
18
|
## インストール
|
13
19
|
|
@@ -27,35 +33,170 @@ Or install it yourself as:
|
|
27
33
|
|
28
34
|
## 使用方法
|
29
35
|
|
30
|
-
|
31
|
-
|
36
|
+
### QiitaのDailyのトレンドを10秒で取得する
|
37
|
+
|
38
|
+
ターミナルでコマンド`gem install qiita_trend`、`ruby -r qiita_trend -e "pp QiitaTrend::Trend.new.items"`を実行することでQiitaのトレンドを10秒で取得できます
|
39
|
+
**2019年8月2日08時00分頃に実行した結果です**
|
32
40
|
|
33
41
|
```shell
|
34
|
-
$
|
42
|
+
$ gem install qiita_trend
|
43
|
+
Fetching qiita_trend-0.2.3.gem
|
44
|
+
Successfully installed qiita_trend-0.2.3
|
45
|
+
Parsing documentation for qiita_trend-0.2.3
|
46
|
+
Installing ri documentation for qiita_trend-0.2.3
|
47
|
+
Done installing documentation for qiita_trend after 0 seconds
|
48
|
+
1 gem installed
|
35
49
|
|
36
|
-
|
50
|
+
$ ruby -r qiita_trend -e "pp QiitaTrend::Trend.new.items"
|
51
|
+
[{"title"=>"「ソースコード全部読まなきゃ病」と闘う方法",
|
52
|
+
"user_name"=>"guitar_char",
|
53
|
+
"user_image"=>
|
54
|
+
"https://qiita-image-store.s3.amazonaws.com/0/114709/profile-,images/1473712681",
|
55
|
+
"likes_count"=>130,
|
56
|
+
"is_new_arrival"=>false,
|
57
|
+
"article"=>"https://qiita.com/guitar_char/items/3b31f7cc79333120b452"},
|
58
|
+
{"title"=>"恐竜でもわかるJavaScript",
|
37
59
|
"user_name"=>"baby-degu",
|
38
60
|
"user_image"=>
|
39
61
|
"https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407975/profile-images/1557035044",
|
40
|
-
"likes_count"=>
|
41
|
-
"is_new_arrival"=>false,
|
42
|
-
"article"=>"https://qiita.com/baby-degu/items/da30fa71b8f48fffc568"},
|
43
|
-
{"title"=>"【俺は絶対楽してやるんだ】徹底的に学習モチベーションを維持する方法",
|
44
|
-
"user_name"=>"rexiaxm7",
|
45
|
-
"user_image"=>"https://avatars0.githubusercontent.com/u/39663347?v=4",
|
46
|
-
"likes_count"=>477,
|
62
|
+
"likes_count"=>129,
|
47
63
|
"is_new_arrival"=>false,
|
48
|
-
"article"=>"https://qiita.com/
|
64
|
+
"article"=>"https://qiita.com/baby-degu/items/d1bf48b6595bab2fda6f"},
|
49
65
|
...
|
50
66
|
```
|
51
67
|
|
52
|
-
|
68
|
+
### ワンライナーで使ってみる
|
69
|
+
|
70
|
+
先に`gem install qiita_trend`を実行しておくこと
|
71
|
+
|
72
|
+
#### Dailyのトレンドの簡易表示
|
73
|
+
|
74
|
+
index + タイトル名 + いいね数 + ユーザー名
|
75
|
+
|
76
|
+
```shell
|
77
|
+
$ ruby -r qiita_trend -e "QiitaTrend::Trend.new.items.each_with_index {|t, i| puts '[' + i.to_s + ']' + t['title'] + '(' + t['likes_count'].to_s + ')' + ' - ' + t['user_name']}"
|
78
|
+
|
79
|
+
[0]「ソースコード全部読まなきゃ病」と闘う方法(130) - guitar_char
|
80
|
+
[1]恐竜でもわかるJavaScript(129) - baby-degu
|
81
|
+
[2]「ようこそ・・・『テストの世界』へ・・・」(168) - shonansurvivors
|
82
|
+
[3]水田の取水バルブを定点カメラで監視し、水田の水があるかないか、給水されているか否かを機械学習で識別してみた(114) - mix_dvd
|
83
|
+
[4]ハムスターの写真を撮りたい(84) - mk-takahashi
|
84
|
+
[5]CSSを非同期ロードする最も簡単な方法(64) - rana_kualu
|
85
|
+
```
|
86
|
+
|
87
|
+
#### Dailyのトレンドのタイトル一覧
|
88
|
+
|
89
|
+
```shell
|
90
|
+
$ ruby -r qiita_trend -e "QiitaTrend::Trend.new.items.each {|t| puts t['title']}"
|
91
|
+
|
92
|
+
「ソースコード全部読まなきゃ病」と闘う方法
|
93
|
+
恐竜でもわかるJavaScript
|
94
|
+
「ようこそ・・・『テストの世界』へ・・・」
|
95
|
+
水田の取水バルブを定点カメラで監視し、水田の水があるかないか、給水されているか否かを機械学習で識別してみた
|
96
|
+
ハムスターの写真を撮りたい
|
97
|
+
CSSを非同期ロードする最も簡単な方法
|
98
|
+
```
|
99
|
+
|
100
|
+
#### Dailyのトレンドのうち`new`がついているものをブラウザで一括で開く
|
101
|
+
|
102
|
+
```shell
|
103
|
+
$ ruby -r qiita_trend -e "QiitaTrend::Trend.new.new_items.each {|t| system('open ' + t['article'])}"
|
104
|
+
```
|
105
|
+
|
106
|
+
## 自分のプロジェクトで使用する
|
107
|
+
|
108
|
+
Gemfileにqiita_trendを追加する
|
53
109
|
|
54
110
|
```ruby
|
55
|
-
qiita_trend
|
111
|
+
gem 'qiita_trend'
|
112
|
+
```
|
113
|
+
|
114
|
+
Gemfileに追加したら`bundle install`してください
|
115
|
+
|
116
|
+
### Dailyのトレンドを取得する
|
117
|
+
|
118
|
+
```ruby
|
119
|
+
daily_trend = QiitaTrend::Trend.new
|
56
120
|
|
57
121
|
# Dailyのトレンドを全て取得する
|
58
|
-
p
|
122
|
+
p daily_trend.items
|
123
|
+
|
59
124
|
# DailyのトレンドでNEWのものだけを取得する
|
60
|
-
p
|
125
|
+
p daily_trend.new_items
|
126
|
+
```
|
127
|
+
|
128
|
+
#### Weekly、Monthlyのトレンドを取得する
|
129
|
+
|
130
|
+
WeeklyとMonthlyのトレンドを取得する時はQiitaにログインしている必要があるため、ログイン出来るユーザーとパスワードの設定が必要です
|
131
|
+
|
132
|
+
```ruby
|
133
|
+
# Qiitaにログインするためのユーザーとパスワードの設定をする
|
134
|
+
QiitaTrend.configure do |config|
|
135
|
+
config.user_name = 'ユーザー名'
|
136
|
+
config.password = 'パスワード'
|
137
|
+
end
|
138
|
+
|
139
|
+
# Weeklyの全てのトレンドとNEWのものだけを取得
|
140
|
+
weekly_trend = QiitaTrend::Trend.new(QiitaTrend::TrendType::WEEKLY)
|
141
|
+
p weekly_trend.items
|
142
|
+
p weekly_trend.new_items
|
143
|
+
|
144
|
+
# Monthlyの全てのトレンドとNEWのものだけを取得
|
145
|
+
monthly_trend = QiitaTrend::Trend.new(QiitaTrend::TrendType::MONTHLY)
|
146
|
+
p monthly_trend.items
|
147
|
+
p monthly_trend.new_items
|
148
|
+
```
|
149
|
+
|
150
|
+
#### itemsメソッド、new_itemsメソッドについて
|
151
|
+
|
152
|
+
itemsメソッド、new_itemsメソッドは`Array`を返します
|
153
|
+
Array一つ一つは`Hash`になります
|
154
|
+
|
155
|
+
```shell
|
156
|
+
irb(main):002:0> QiitaTrend::Trend.new.items.class
|
157
|
+
=> Array
|
158
|
+
irb(main):003:0> QiitaTrend::Trend.new.items[0].class
|
159
|
+
=> Hash
|
160
|
+
```
|
161
|
+
|
162
|
+
Hashは以下の構成になっています
|
163
|
+
|
164
|
+
```shell
|
165
|
+
irb(main):004:0> pp QiitaTrend::Trend.new.items[0]
|
166
|
+
{"title"=>"「ソースコード全部読まなきゃ病」と闘う方法",
|
167
|
+
"user_name"=>"guitar_char",
|
168
|
+
"user_image"=>
|
169
|
+
"https://qiita-image-store.s3.amazonaws.com/0/114709/profile-images/1473712681",
|
170
|
+
"likes_count"=>130,
|
171
|
+
"is_new_arrival"=>false,
|
172
|
+
"article"=>"https://qiita.com/guitar_char/items/3b31f7cc79333120b452"}
|
173
|
+
```
|
174
|
+
|
175
|
+
| key | 内容 | 備考 |
|
176
|
+
|:--------------:|:-------------------------:|:---------------------:|
|
177
|
+
| user_name | ユーザー名 | |
|
178
|
+
| user_image | ユーザー画像URL | |
|
179
|
+
| likes_count | いいね数 | 数値が入ります |
|
180
|
+
| is_new_arrival | 「NEW」のついている記事か | TrueかFalseが入ります |
|
181
|
+
| article | 記事のURL | |
|
182
|
+
|
183
|
+
#### キャシュファイルの出力先を変更する
|
184
|
+
|
185
|
+
キャッシュファイルはデフォルトだと`ユーザーのHOMEディレクトリ/qiita_cache/`に出力されます
|
186
|
+
|
187
|
+
```
|
188
|
+
/Users/dodonki1223/qiita_cache/2019080205_daily.html
|
189
|
+
/Users/dodonki1223/qiita_cache/2019080205_weekly
|
190
|
+
/Users/dodonki1223/qiita_cache/2019080205_monthly.html
|
191
|
+
```
|
192
|
+
|
193
|
+
プログラムで下記のように追記してください
|
194
|
+
|
195
|
+
```ruby
|
196
|
+
# キャッシュの出力先ディレクトリを変更する
|
197
|
+
# ユーザーのHOMEディレクトリ配下のhogeディレクトリに出力する設定
|
198
|
+
# /Users/dodonki1223/hoge/
|
199
|
+
QiitaTrend.configure do |config|
|
200
|
+
config.cache_directory = Dir.home + '/hoge/'
|
201
|
+
end
|
61
202
|
```
|
data/lib/qiita_trend/version.rb
CHANGED
data/qiita_trend.gif
ADDED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qiita_trend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dodonki1223
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mechanize
|
@@ -178,6 +178,7 @@ files:
|
|
178
178
|
- lib/qiita_trend/trend_type.rb
|
179
179
|
- lib/qiita_trend/version.rb
|
180
180
|
- qiita_trend.gemspec
|
181
|
+
- qiita_trend.gif
|
181
182
|
homepage: https://github.com/dodonki1223/qiita_trend
|
182
183
|
licenses:
|
183
184
|
- MIT
|