Fix regex and skip quality with upsell designation.

This commit is contained in:
rephormat 2018-02-07 13:59:37 -06:00
parent 3a098109b1
commit 52099926cc

View File

@ -28,7 +28,7 @@ public class PornhubRipper extends VideoRipper {
@Override @Override
public boolean canRip(URL url) { public boolean canRip(URL url) {
Pattern p = Pattern.compile("^https?://[wm.]*pornhub\\.com/view_video.php\\?viewkey=[0-9]+.*$"); Pattern p = Pattern.compile("^https?://[wm.]*pornhub\\.com/view_video.php\\?viewkey=[a-z0-9]+$");
Matcher m = p.matcher(url.toExternalForm()); Matcher m = p.matcher(url.toExternalForm());
return m.matches(); return m.matches();
} }
@ -40,7 +40,7 @@ public class PornhubRipper extends VideoRipper {
@Override @Override
public String getGID(URL url) throws MalformedURLException { public String getGID(URL url) throws MalformedURLException {
Pattern p = Pattern.compile("^https?://[wm.]*pornhub\\.com/view_video.php\\?viewkey=([0-9]+).*$"); Pattern p = Pattern.compile("^https?://[wm.]*pornhub\\.com/view_video.php\\?viewkey=([a-z0-9]+)$");
Matcher m = p.matcher(url.toExternalForm()); Matcher m = p.matcher(url.toExternalForm());
if (m.matches()) { if (m.matches()) {
return m.group(1); return m.group(1);
@ -69,7 +69,7 @@ public class PornhubRipper extends VideoRipper {
vidUrl = null; vidUrl = null;
for (String quality : new String[] {"1080", "720", "480", "240"}) { for (String quality : new String[] {"1080", "720", "480", "240"}) {
Pattern pv = Pattern.compile("\"quality\":\"" + quality + "\",\"videoUrl\":\"(.*?)\""); Pattern pv = Pattern.compile("\"format\":\"\",\"quality\":\"" + quality + "\",\"videoUrl\":\"(.*?)\"");
Matcher mv = pv.matcher(html); Matcher mv = pv.matcher(html);
if (mv.find()) { if (mv.find()) {
vidUrl = mv.group(1).replace("\\/", "/"); vidUrl = mv.group(1).replace("\\/", "/");