@lglen/bing-image-search 0.1.1 → 0.1.2
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.
- package/README.md +10 -4
- package/dist/bing-media.d.ts +2 -0
- package/dist/bing-media.d.ts.map +1 -1
- package/dist/bing-media.js +9 -2
- package/dist/bing-media.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,10 +24,16 @@ const results = await searchBingImages({
|
|
|
24
24
|
mkt: "en-US", // default
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
console.log(`Found ${results.length} results:\n`);
|
|
28
|
+
|
|
29
|
+
for (const r of results) {
|
|
30
|
+
console.log(` Title: ${r.title || "(none)"}`);
|
|
31
|
+
console.log(` Source: ${r.sourceUrl.substring(0, 100)}...`);
|
|
32
|
+
console.log(` Thumb: ${r.thumbnailUrl.substring(0, 100)}...`);
|
|
33
|
+
console.log(` Page: ${r.pageUrl.substring(0, 100)}...`);
|
|
34
|
+
console.log(` Size: ${r.width}x${r.height}`);
|
|
35
|
+
console.log();
|
|
36
|
+
}
|
|
31
37
|
```
|
|
32
38
|
|
|
33
39
|
### `Bing` class — download images to disk
|
package/dist/bing-media.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export interface BingImageResult {
|
|
|
17
17
|
thumbnailUrl: string;
|
|
18
18
|
/** The original source URL (may 403 if the host blocks hotlinking). */
|
|
19
19
|
sourceUrl: string;
|
|
20
|
+
/** The webpage URL that contains this image (the page it links to). */
|
|
21
|
+
pageUrl: string;
|
|
20
22
|
/** Title/alt text from the search result. */
|
|
21
23
|
title: string;
|
|
22
24
|
/** Width of the full image in pixels (0 if unknown). */
|
package/dist/bing-media.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bing-media.d.ts","sourceRoot":"","sources":["../src/bing-media.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"bing-media.d.ts","sourceRoot":"","sources":["../src/bing-media.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAyE5B"}
|
package/dist/bing-media.js
CHANGED
|
@@ -72,6 +72,7 @@ export async function searchBingImages(options) {
|
|
|
72
72
|
results.push({
|
|
73
73
|
thumbnailUrl: card.turl ?? sourceUrl,
|
|
74
74
|
sourceUrl,
|
|
75
|
+
pageUrl: card.purl ?? "",
|
|
75
76
|
title: card.desc ?? "",
|
|
76
77
|
width: card.width ?? 0,
|
|
77
78
|
height: card.height ?? 0,
|
|
@@ -105,6 +106,8 @@ function parseImageCards(html) {
|
|
|
105
106
|
card.murl = m.murl;
|
|
106
107
|
if (m.turl)
|
|
107
108
|
card.turl = m.turl;
|
|
109
|
+
if (m.purl)
|
|
110
|
+
card.purl = m.purl;
|
|
108
111
|
if (m.desc)
|
|
109
112
|
card.desc = m.desc;
|
|
110
113
|
if (m.w)
|
|
@@ -117,16 +120,20 @@ function parseImageCards(html) {
|
|
|
117
120
|
// Skip malformed entries
|
|
118
121
|
}
|
|
119
122
|
}
|
|
120
|
-
// Fallback: if the JSON approach didn't work, regex the turl/murl directly.
|
|
123
|
+
// Fallback: if the JSON approach didn't work, regex the turl/murl/purl directly.
|
|
121
124
|
if (cards.length === 0) {
|
|
122
125
|
const murls = [...html.matchAll(/murl":"(.*?)"/g)].map((m) => m[1]);
|
|
123
126
|
const turls = [...html.matchAll(/turl":"(.*?)"/g)]
|
|
124
127
|
.map((m) => m[1])
|
|
125
128
|
.filter(Boolean);
|
|
126
|
-
|
|
129
|
+
const purls = [...html.matchAll(/purl":"(.*?)"/g)]
|
|
130
|
+
.map((m) => m[1])
|
|
131
|
+
.filter(Boolean);
|
|
132
|
+
for (let i = 0; i < Math.max(murls.length, turls.length, purls.length); i++) {
|
|
127
133
|
cards.push({
|
|
128
134
|
murl: murls[i] ?? undefined,
|
|
129
135
|
turl: turls[i] ?? undefined,
|
|
136
|
+
purl: purls[i] ?? undefined,
|
|
130
137
|
});
|
|
131
138
|
}
|
|
132
139
|
}
|
package/dist/bing-media.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bing-media.js","sourceRoot":"","sources":["../src/bing-media.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,MAAM,OAAO,GAA2B;IACtC,YAAY,EACV,iHAAiH;IACnH,MAAM,EACJ,uFAAuF;IACzF,iBAAiB,EAAE,gBAAgB;IACnC,OAAO,EAAE,uBAAuB;CACjC,CAAC;
|
|
1
|
+
{"version":3,"file":"bing-media.js","sourceRoot":"","sources":["../src/bing-media.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lglen/bing-image-search",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "TypeScript SDK for searching and downloading images from Bing. Returns Bing-hosted thumbnail URLs (safe for <img> tags) and supports batch image downloads with deduplication.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|