Skip to content

Commit 6d2ba0d

Browse files
committed
补充完整 URL.
1 parent 1aef66a commit 6d2ba0d

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

Emby.Plugins.JavScraper/Scrapers/AbstractScraper.cs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,16 @@ public virtual async Task<List<JavVideoIndex>> Query(string key)
162162
{
163163
await DoQyery(ls, k);
164164
if (ls.Any())
165+
{
166+
var uri = new Uri(base_url);
167+
foreach (var r in ls)
168+
{
169+
r.Url = FixUrl(uri, r.Url);
170+
r.Cover = FixUrl(uri, r.Cover);
171+
}
172+
165173
return ls;
174+
}
166175
}
167176
return ls;
168177
}
@@ -192,10 +201,48 @@ public virtual async Task<JavVideo> Get(JavVideoIndex index)
192201
{
193202
var r = await Get(index?.Url);
194203
if (r != null)
204+
{
195205
r.OriginalTitle = r.Title;
206+
try
207+
{
208+
var uri = new Uri(index?.Url ?? r.Url ?? BaseUrl);
209+
r.Cover = FixUrl(uri, r.Cover);
210+
if (r.Samples?.Any() == true)
211+
r.Samples = r.Samples.Select(o => FixUrl(uri, o))
212+
.Where(o => o != null)
213+
.ToList();
214+
}
215+
catch { }
216+
}
196217
return r;
197218
}
198219

220+
/// <summary>
221+
/// 补充完整url
222+
/// </summary>
223+
/// <param name="base_uri">基础url</param>
224+
/// <param name="url">url或者路径</param>
225+
/// <returns></returns>
226+
protected virtual string FixUrl(Uri base_uri, string url)
227+
{
228+
if (string.IsNullOrWhiteSpace(url))
229+
return null;
230+
231+
if (url.IsWebUrl())
232+
return url;
233+
234+
try
235+
{
236+
if (url.StartsWith("//"))
237+
url = url.Substring(1);
238+
239+
return new Uri(base_uri, url).ToString();
240+
}
241+
catch { }
242+
243+
return null;
244+
}
245+
199246
/// <summary>
200247
/// 获取详情
201248
/// </summary>

0 commit comments

Comments
 (0)