@nahisaho/katashiro-collector 0.1.1 → 0.1.3

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.
@@ -15,8 +15,10 @@ export declare class WebSearchClient implements IWebSearchClient {
15
15
  private readonly defaultMaxResults;
16
16
  /**
17
17
  * Web検索を実行
18
+ * @param queryOrString 検索クエリ(文字列またはSearchQueryオブジェクト)
19
+ * @param options 検索オプション
18
20
  */
19
- search(query: SearchQuery, options?: WebSearchOptions): Promise<Result<SearchResult[], Error>>;
21
+ search(queryOrString: string | SearchQuery, options?: WebSearchOptions): Promise<Result<SearchResult[], Error>>;
20
22
  /**
21
23
  * プロバイダーから検索結果を取得
22
24
  */
@@ -26,6 +28,24 @@ export declare class WebSearchClient implements IWebSearchClient {
26
28
  * Note: 本番環境ではSerpAPIやBraveSearchAPIなどを使用推奨
27
29
  */
28
30
  private searchDuckDuckGo;
31
+ /**
32
+ * DuckDuckGo HTML検索(スクレイピング)
33
+ * Instant Answer APIより確実に検索結果が得られる
34
+ */
35
+ private searchDuckDuckGoHtml;
36
+ /**
37
+ * DuckDuckGo HTML検索結果をパース
38
+ */
39
+ private parseDuckDuckGoHtml;
40
+ /**
41
+ * HTMLエンティティをデコード
42
+ */
43
+ private decodeHtmlEntities;
44
+ /**
45
+ * SearXNG を使用した検索(複数インスタンス対応)
46
+ * APIキー不要で確実に検索結果が得られる
47
+ */
48
+ private searchSearXNG;
29
49
  /**
30
50
  * Google Custom Search API を使用した検索
31
51
  * Note: 実装にはAPI Keyが必要
@@ -1 +1 @@
1
- {"version":3,"file":"web-search-client.d.ts","sourceRoot":"","sources":["../../src/web-search/web-search-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,EAKjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoBtE;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAExC;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;IAyBzC;;OAEG;YACW,iBAAiB;IAgB/B;;;OAGG;YACW,gBAAgB;IAkD9B;;;OAGG;YACW,YAAY;IAM1B;;;OAGG;YACW,UAAU;IAMxB;;OAEG;IACH,OAAO,CAAC,YAAY;CAQrB"}
1
+ {"version":3,"file":"web-search-client.d.ts","sourceRoot":"","sources":["../../src/web-search/web-search-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,EAKjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAgCtE;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAExC;;;;OAIG;IACG,MAAM,CACV,aAAa,EAAE,MAAM,GAAG,WAAW,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;IA8BzC;;OAEG;YACW,iBAAiB;IAkB/B;;;OAGG;YACW,gBAAgB;IA6D9B;;;OAGG;YACW,oBAAoB;IAoBlC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+D3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;OAGG;YACW,aAAa;IAkD3B;;;OAGG;YACW,YAAY;IAM1B;;;OAGG;YACW,UAAU;IAMxB;;OAEG;IACH,OAAO,CAAC,YAAY;CAQrB"}
@@ -14,8 +14,14 @@ export class WebSearchClient {
14
14
  defaultMaxResults = 10;
15
15
  /**
16
16
  * Web検索を実行
17
+ * @param queryOrString 検索クエリ(文字列またはSearchQueryオブジェクト)
18
+ * @param options 検索オプション
17
19
  */
18
- async search(query, options) {
20
+ async search(queryOrString, options) {
21
+ // 文字列の場合はSearchQueryオブジェクトに変換
22
+ const query = typeof queryOrString === 'string'
23
+ ? { query: queryOrString }
24
+ : queryOrString;
19
25
  // バリデーション
20
26
  if (!query.query || query.query.trim().length === 0) {
21
27
  return err(new Error('Search query cannot be empty'));
@@ -43,6 +49,8 @@ export class WebSearchClient {
43
49
  switch (provider) {
44
50
  case 'duckduckgo':
45
51
  return this.searchDuckDuckGo(query);
52
+ case 'searxng':
53
+ return this.searchSearXNG(query);
46
54
  case 'google':
47
55
  return this.searchGoogle(query);
48
56
  case 'bing':
@@ -56,6 +64,17 @@ export class WebSearchClient {
56
64
  * Note: 本番環境ではSerpAPIやBraveSearchAPIなどを使用推奨
57
65
  */
58
66
  async searchDuckDuckGo(query) {
67
+ // まずHTML検索を試行(より確実に結果が得られる)
68
+ try {
69
+ const htmlResults = await this.searchDuckDuckGoHtml(query);
70
+ if (htmlResults.length > 0) {
71
+ return htmlResults;
72
+ }
73
+ }
74
+ catch {
75
+ // HTML検索に失敗した場合はInstant Answer APIにフォールバック
76
+ }
77
+ // Instant Answer API(Wikipediaなどの定義情報)
59
78
  const encodedQuery = encodeURIComponent(query.query);
60
79
  const url = `https://api.duckduckgo.com/?q=${encodedQuery}&format=json&no_html=1`;
61
80
  const response = await fetch(url, {
@@ -98,6 +117,146 @@ export class WebSearchClient {
98
117
  }
99
118
  return results;
100
119
  }
120
+ /**
121
+ * DuckDuckGo HTML検索(スクレイピング)
122
+ * Instant Answer APIより確実に検索結果が得られる
123
+ */
124
+ async searchDuckDuckGoHtml(query) {
125
+ const encodedQuery = encodeURIComponent(query.query);
126
+ const url = `https://html.duckduckgo.com/html/?q=${encodedQuery}`;
127
+ const response = await fetch(url, {
128
+ headers: {
129
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
130
+ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
131
+ 'Accept-Language': 'ja,en-US;q=0.9,en;q=0.8',
132
+ },
133
+ });
134
+ if (!response.ok) {
135
+ throw new Error(`DuckDuckGo HTML error: ${response.status}`);
136
+ }
137
+ const html = await response.text();
138
+ return this.parseDuckDuckGoHtml(html);
139
+ }
140
+ /**
141
+ * DuckDuckGo HTML検索結果をパース
142
+ */
143
+ parseDuckDuckGoHtml(html) {
144
+ const results = [];
145
+ // 結果ブロックを抽出(正規表現ベース)
146
+ // <a class="result__a" href="...">タイトル</a>
147
+ // <a class="result__snippet">スニペット</a>
148
+ const resultPattern = /<a[^>]*class="result__a"[^>]*href="([^"]*)"[^>]*>([^<]*)<\/a>[\s\S]*?<a[^>]*class="result__snippet"[^>]*>([^<]*)<\/a>/gi;
149
+ let match;
150
+ while ((match = resultPattern.exec(html)) !== null) {
151
+ const rawUrl = match[1];
152
+ const title = match[2];
153
+ const snippet = match[3];
154
+ // DuckDuckGoのリダイレクトURLから実際のURLを抽出
155
+ let url = rawUrl ?? '';
156
+ if (rawUrl) {
157
+ const udMatch = rawUrl.match(/uddg=([^&]+)/);
158
+ if (udMatch?.[1]) {
159
+ url = decodeURIComponent(udMatch[1]);
160
+ }
161
+ }
162
+ if (url && title) {
163
+ results.push({
164
+ id: generateId('search'),
165
+ title: this.decodeHtmlEntities(title.trim()),
166
+ url: url,
167
+ snippet: this.decodeHtmlEntities(snippet?.trim() ?? ''),
168
+ source: 'duckduckgo',
169
+ timestamp: formatTimestamp(),
170
+ relevanceScore: 0.9 - (results.length * 0.05),
171
+ });
172
+ }
173
+ }
174
+ // 別パターンも試行(シンプルなリンク形式)
175
+ if (results.length === 0) {
176
+ const simplePattern = /<a[^>]*class="[^"]*result[^"]*"[^>]*href="\/\/duckduckgo\.com\/l\/\?uddg=([^&"]+)[^"]*"[^>]*>([^<]+)<\/a>/gi;
177
+ while ((match = simplePattern.exec(html)) !== null) {
178
+ const encodedUrl = match[1];
179
+ const title = match[2];
180
+ if (!encodedUrl)
181
+ continue;
182
+ const url = decodeURIComponent(encodedUrl);
183
+ if (url && title && !url.includes('duckduckgo.com')) {
184
+ results.push({
185
+ id: generateId('search'),
186
+ title: this.decodeHtmlEntities(title.trim()),
187
+ url: url,
188
+ snippet: '',
189
+ source: 'duckduckgo',
190
+ timestamp: formatTimestamp(),
191
+ relevanceScore: 0.8,
192
+ });
193
+ }
194
+ }
195
+ }
196
+ return results;
197
+ }
198
+ /**
199
+ * HTMLエンティティをデコード
200
+ */
201
+ decodeHtmlEntities(text) {
202
+ const entities = {
203
+ '&amp;': '&',
204
+ '&lt;': '<',
205
+ '&gt;': '>',
206
+ '&quot;': '"',
207
+ '&#39;': "'",
208
+ '&nbsp;': ' ',
209
+ };
210
+ return text.replace(/&[^;]+;/g, (entity) => entities[entity] ?? entity);
211
+ }
212
+ /**
213
+ * SearXNG を使用した検索(複数インスタンス対応)
214
+ * APIキー不要で確実に検索結果が得られる
215
+ */
216
+ async searchSearXNG(query) {
217
+ const instances = [
218
+ 'https://searx.be',
219
+ 'https://search.disroot.org',
220
+ 'https://searx.tiekoetter.com',
221
+ 'https://search.sapti.me',
222
+ ];
223
+ for (const instance of instances) {
224
+ try {
225
+ const encodedQuery = encodeURIComponent(query.query);
226
+ const url = `${instance}/search?q=${encodedQuery}&format=json&categories=general`;
227
+ const response = await fetch(url, {
228
+ headers: {
229
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
230
+ 'Accept': 'application/json',
231
+ },
232
+ signal: AbortSignal.timeout(10000), // 10秒タイムアウト
233
+ });
234
+ if (!response.ok) {
235
+ continue;
236
+ }
237
+ const data = (await response.json());
238
+ if (data.results && data.results.length > 0) {
239
+ return data.results
240
+ .filter(r => r.url && r.title)
241
+ .map((r, index) => ({
242
+ id: generateId('search'),
243
+ title: r.title ?? '',
244
+ url: r.url ?? '',
245
+ snippet: r.content ?? '',
246
+ source: `searxng:${r.engine ?? 'unknown'}`,
247
+ timestamp: formatTimestamp(),
248
+ relevanceScore: 1.0 - (index * 0.05),
249
+ }));
250
+ }
251
+ }
252
+ catch {
253
+ // このインスタンスは失敗、次を試行
254
+ continue;
255
+ }
256
+ }
257
+ // 全インスタンス失敗
258
+ return [];
259
+ }
101
260
  /**
102
261
  * Google Custom Search API を使用した検索
103
262
  * Note: 実装にはAPI Keyが必要
@@ -1 +1 @@
1
- {"version":3,"file":"web-search-client.js","sourceRoot":"","sources":["../../src/web-search/web-search-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-search-client.js","sourceRoot":"","sources":["../../src/web-search/web-search-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nahisaho/katashiro-collector",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "KATASHIRO Collector - 情報収集パッケージ",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",