From d3da2359de48712ce7863575d6a3840e074f76e4 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Mon, 5 Jun 2023 03:32:24 +0200 Subject: [PATCH] Refactored Bang! scraper, added My Stepdaughters Friend. --- package-lock.json | 14 ++-- package.json | 2 +- public/img/logos/bang/lazy/bangadventures.png | Bin 2578 -> 2578 bytes public/img/logos/bang/lazy/bangcasting.png | Bin 2117 -> 2117 bytes .../img/logos/bang/lazy/bangconfessions.png | Bin 2208 -> 2208 bytes public/img/logos/bang/lazy/bangfakenews.png | Bin 2703 -> 2703 bytes public/img/logos/bang/lazy/bangglamkore.png | Bin 2418 -> 2418 bytes public/img/logos/bang/lazy/bangjapan.png | Bin 2928 -> 2928 bytes public/img/logos/bang/lazy/bangpodcast.png | Bin 2487 -> 2487 bytes public/img/logos/bang/lazy/bangrammed.png | Bin 3141 -> 3141 bytes public/img/logos/bang/lazy/bangrealmilfs.png | Bin 1287 -> 1287 bytes public/img/logos/bang/lazy/bangrealteens.png | Bin 1782 -> 1782 bytes .../img/logos/bang/lazy/bangroadsidexxx.png | Bin 2172 -> 2172 bytes public/img/logos/bang/lazy/bangsurprise.png | Bin 1866 -> 1866 bytes public/img/logos/bang/lazy/bangtrickery.png | Bin 3296 -> 3296 bytes public/img/logos/bang/lazy/favicon.png | Bin 2169 -> 2169 bytes public/img/logos/bang/lazy/favicon_dark.png | Bin 6701 -> 6676 bytes public/img/logos/bang/lazy/favicon_light.png | Bin 2169 -> 2169 bytes .../logos/bang/lazy/mystepdaughtersfriend.png | Bin 0 -> 2368 bytes public/img/logos/bang/lazy/network.png | Bin 2311 -> 2311 bytes public/img/logos/bang/lazy/prettyandraw.png | Bin 2733 -> 2733 bytes public/img/logos/bang/lazy/screwthecops.png | Bin 1365 -> 1365 bytes public/img/logos/bang/lazy/yngrcom.png | Bin 3541 -> 3541 bytes .../img/logos/bang/mystepdaughtersfriend.png | Bin 0 -> 12473 bytes .../img/logos/bang/thumbs/bangadventures.png | Bin 13249 -> 13249 bytes public/img/logos/bang/thumbs/bangcasting.png | Bin 8326 -> 8326 bytes .../img/logos/bang/thumbs/bangconfessions.png | Bin 19915 -> 19915 bytes public/img/logos/bang/thumbs/bangfakenews.png | Bin 8277 -> 8277 bytes public/img/logos/bang/thumbs/bangglamkore.png | Bin 11767 -> 11767 bytes public/img/logos/bang/thumbs/bangjapan.png | Bin 6139 -> 6139 bytes public/img/logos/bang/thumbs/bangpodcast.png | Bin 10239 -> 10239 bytes public/img/logos/bang/thumbs/bangrammed.png | Bin 12371 -> 12371 bytes .../img/logos/bang/thumbs/bangrealmilfs.png | Bin 4352 -> 4352 bytes .../img/logos/bang/thumbs/bangrealteens.png | Bin 12762 -> 12762 bytes .../img/logos/bang/thumbs/bangroadsidexxx.png | Bin 15844 -> 15844 bytes public/img/logos/bang/thumbs/bangsurprise.png | Bin 7285 -> 7285 bytes public/img/logos/bang/thumbs/bangtrickery.png | Bin 9737 -> 9737 bytes public/img/logos/bang/thumbs/favicon.png | Bin 2169 -> 2169 bytes public/img/logos/bang/thumbs/favicon_dark.png | Bin 6701 -> 6676 bytes .../img/logos/bang/thumbs/favicon_light.png | Bin 2169 -> 2169 bytes .../bang/thumbs/mystepdaughtersfriend.png | Bin 0 -> 12771 bytes public/img/logos/bang/thumbs/network.png | Bin 5814 -> 5814 bytes public/img/logos/bang/thumbs/prettyandraw.png | Bin 14823 -> 14823 bytes public/img/logos/bang/thumbs/screwthecops.png | Bin 6297 -> 6297 bytes public/img/logos/bang/thumbs/yngrcom.png | Bin 20939 -> 20939 bytes seeds/02_sites.js | 7 ++ src/scrapers/bang.js | 69 +++++++++++------- src/scrapers/newsensations.js | 2 + 48 files changed, 61 insertions(+), 33 deletions(-) create mode 100644 public/img/logos/bang/lazy/mystepdaughtersfriend.png create mode 100644 public/img/logos/bang/mystepdaughtersfriend.png create mode 100644 public/img/logos/bang/thumbs/mystepdaughtersfriend.png diff --git a/package-lock.json b/package-lock.json index 965c3679..ea3302fa 100755 --- a/package-lock.json +++ b/package-lock.json @@ -78,7 +78,7 @@ "tunnel": "0.0.6", "ua-parser-js": "^1.0.32", "undici": "^4.13.0", - "unprint": "^0.9.1", + "unprint": "^0.9.3", "url-pattern": "^1.0.3", "v-tooltip": "^2.0.3", "video.js": "^7.11.4", @@ -17004,9 +17004,9 @@ } }, "node_modules/unprint": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/unprint/-/unprint-0.9.1.tgz", - "integrity": "sha512-TEdPfly6qOST3Vessa9gNFFkJsSsdWe04k0FCU5XuvdpCSb8eVRrAvLouuyJI/GkIhrn6ZHc9VgX/gRW/R5UcQ==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/unprint/-/unprint-0.9.3.tgz", + "integrity": "sha512-ujDlQL0yeVVd6V+kN5uURG/6F9jUblF0VWMOcpI9u3ZjsWp2tC4mQy0/kK4epU8QhkEFPE9uZ0pAMKORzEdp5g==", "dependencies": { "axios": "^0.27.2", "bottleneck": "^2.19.5", @@ -31449,9 +31449,9 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "unprint": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/unprint/-/unprint-0.9.1.tgz", - "integrity": "sha512-TEdPfly6qOST3Vessa9gNFFkJsSsdWe04k0FCU5XuvdpCSb8eVRrAvLouuyJI/GkIhrn6ZHc9VgX/gRW/R5UcQ==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/unprint/-/unprint-0.9.3.tgz", + "integrity": "sha512-ujDlQL0yeVVd6V+kN5uURG/6F9jUblF0VWMOcpI9u3ZjsWp2tC4mQy0/kK4epU8QhkEFPE9uZ0pAMKORzEdp5g==", "requires": { "axios": "^0.27.2", "bottleneck": "^2.19.5", diff --git a/package.json b/package.json index 3f4a0174..ef429f89 100755 --- a/package.json +++ b/package.json @@ -137,7 +137,7 @@ "tunnel": "0.0.6", "ua-parser-js": "^1.0.32", "undici": "^4.13.0", - "unprint": "^0.9.1", + "unprint": "^0.9.3", "url-pattern": "^1.0.3", "v-tooltip": "^2.0.3", "video.js": "^7.11.4", diff --git a/public/img/logos/bang/lazy/bangadventures.png b/public/img/logos/bang/lazy/bangadventures.png index 49fdce8bad74708f9562d078781e7e058eebff73..61a87dd5c903de7584d10cf511b86f2a30deddba 100644 GIT binary patch delta 112 zcmbOvGD&0u8xtoRD}#vG(!ysvoB5f(u<@B#85wCC7+4t?EYoPZJz0=b*$E+Zz0@k5 zfq_Az#5JNMC9x#csw6WvwYVfPw}8ROz{ptFz)aV`Gz6&I2#BD@RQ}g?oLt5^2LP>L B9~l4u delta 112 zcmbOvGD&0u8xtoZyMVZ%e&lxl&HPMX*!YaCj7_x-46Fqa8zJ|A150tgNWGD!e=}i!`;}#&2$Y+LktY8jDW~U8^|y)sQj<(xOofPL`DEt C1`YTC delta 49 zcmX>qa8zJ|A15QbfViQ4JEVT^`tPBj6U5VYZnV)?k FBLGYT4c7nw diff --git a/public/img/logos/bang/lazy/bangfakenews.png b/public/img/logos/bang/lazy/bangfakenews.png index dbd59ed4a290ea53dcec626dbe7a32ed3550ec46..fbc8a2fa2cf4a2df4f0fca17ef00aec7df0b384f 100644 GIT binary patch delta 51 zcmeAd?HApU#=^4a`Ff&8&=!txPPn4GgRd43=Gq-81qaa3Z%Lsm{URt6EVrG?LUHos!s%pz{4YhW5;U|?kgL`K>`hJiule{ILjTev1N F0sy3Y56J)k delta 51 zcmX>qaa3Z%Lsm{kb^&oi{mAY9n_sbRW)U~kH82k`G_x`?wlcBQHZZU@W0IBX1WHZAqECkMnGhw4P+P?RQ}g?oSe-v2LMCq B4Z{Ec delta 48 zcmZqYYUi5Z$H~YpAa1B1x!r$b_+MsmLtO*&5JNL7BV#KQOKk%KD+7aNS7P@}&Ssed E06l~bGXMYp diff --git a/public/img/logos/bang/lazy/bangrealteens.png b/public/img/logos/bang/lazy/bangrealteens.png index 3e8f0479df42e9e0cfb3701a5aadb34130a8ee56..cb1bef2e529e206885a89ae05ee62d1254339403 100644 GIT binary patch delta 49 zcmeyy`;B*kA150tgNWGD!e=}i!@skLo9P;uh8P%F83B=zHjrUpQ2AfmadRr`L`DF7 CKn}A2 delta 49 zcmeyy`;B*kA15QbfViQ4JEVT^`tPBj6U5VYZIhA!H FBLH?w4qn2S;Y-?4a`Ff&8&=!txPPn4GgRd43=Gq-81&2$Y+LktY8jDW~U8^|y)sQj<(xOpe*L`DEu CxDEyY delta 49 zcmX@bcZzRR delta 51 zcmaDL`9N|*4l5@kyMVZ%e&lxl&84hISj7!>4a`Ff&8&=!txPPn4GgRd43=Gq-LpA> HdjcZ>g{TiT diff --git a/public/img/logos/bang/lazy/favicon.png b/public/img/logos/bang/lazy/favicon.png index 72e47d47e79e1abfe062477ca973ce318dae7f3b..cb225e455520a60579a8ae85845089c485d3c346 100644 GIT binary patch delta 50 zcmew<@Ka!eItwQoD}#vG(!ysvn+;f|F^ik&8kmL{7+4trk&!l#VPH`CU)yo=UG_Nu DY1$5* delta 50 zcmew<@Ka!eItwQwyMVZ%e&lxl%?2#fn8gis4a`Ff&8&=!txPPn4GgRd43=Gq-81HiK+o+vp709sQM?EnA( delta 91 zcmbPYvesmSG7BdoyMVZ%e&lxl%{naQLgI$H2Ie7#W>!YVRwkC(1_o9J2FtF*?%BLc qYzY&i*5r6eQCU4Ga4t$sEJ;mKD98PF03%P%5#JvbaPLMl3rTz>ZA{%cR3O` zY6Vo%UKOtl5t{e-wVd6)d#;t!zVEbm-#^J*@_}$?vX8mWBi=_deZ8OW@s~+c^;EP| zpJ(u*=}3Rf^w_$`F(nZXW+p06o~OObs`-fUp{Qmyro!}adm`X0uEu?r%%zkQ#4J8vGtzw`%Q*}qrwCVZRxr7F5x zhLQR9fup6-lfO5dmQDEKIi2U^#6KpjPK*`yi}O!0Hg9)$KkIgMw)}E_hqhf__ZZmQ z4^&Ltblvve-OD#`?@y2V`5Hn!&&zUNC1@pbY~9lXieli0h-N2d*V8ydJgaQrU`gk#qn5|9>@hA&`WF zi&1kg#mtAJi_!Bh#>~4EjSzuKVTfD=>$(^@_wTPiaMQ3dt{1F^n@=sq#i)5dUw*=B z9Uj5g+pYi|OraZqR)2r=4v#HpQnzb1U5cJZs--|%zTSC_W)vD1V&?f66dwVj4-z$S z8-ZN7AcPH+0-BFzT0(C^3@|akFu-ABtM*%o%xO>hgzW(`x3-YuFNewq$8;QTf6(ch@ben$$RZcFV>PA2)GH zDS@&`^&b!3>|B;M<=lm1yPn^fd~;v&{ns1zEWUbi(}P#V$Cqx}wdKg+gU8PuSkpbV zb6dcc-G!^x_g>q21}i8TW)G~sLfq4cf(%(pfpiQMqV~mU1lKxA#Q$7E_NN!*u5>XPASgue|l%JNFld4csS&*s#F7zyVmj*}o$td#tc`jnv^l`JL zAHPY^yZS~6p3k>#dd!Y+>M)wZ9lYfJ)@AX^R}2nv*f_49WTu=jZ-Uw09$wa)5`s@A zD5*2uNL7A&*gWmyPcw;0X{yT1Wj+nsf1FF!TZug7H91rk{_U`b{hj+$LVHZOQezC9 zKXo@QbWPs0j%DS{at^b&z5~X)?;XCq@k8-ertD8;=giy|+4Ajq5We^Ex0ZazK7OTd z(>Yhps0?MW{~-B4tzIgKck9tvWlej<^BPK7!@oCuK9(EbJNfWcm;3RV`%^+Mdb?!E zM`Wsh5MvUT*K<0yy0`mP!K~TdwhQ-Vnn>P`ir<(X;Zz{_V0Xipa@L3NNW#={{(Qjc1kG311 z-?`T7$}5#s>mE&JdRu60RV5JgbA`yxF9BEje@dCJ{WDRZ`|KXs;&blB4x4X3t2^ts z#k&8MVdcjy8BJ3vCmc#EIQ8~ux!{)02TRQOx!MozxVCfSl%jQ9j(3*UJ>Pxz&Gz*6 zzt8tcytnU&>z(nBVe=&g#T_E+y@0XF<>}%W!f~DPKLf*m26hfkE(UHMUOs*SK}I1# zVG&U=aVBvI31&$tX(<^#SveLVNqGfDC1n*=Rv=JTV`Wg+(A3h_(bdy8Ff=kYF*P%{ zu(Z;%wz0LdcW`ua7IATPb2oDE@bvQb@%8f$2n-4iVF(QikBE$lj){$nPjF03N=`}D zO^Z*@$V|@?$u`a5$ra7ZFW@aKDlRE4Q!lS5t*okMsHv^1Z)j|4ZfP}XYwzfEOX(_T z>9lu>m+tQA?d!Lm;M6{GQt#v`Q>RVWteG)W(`(jj20yMjbLX+nU$Ah|V)-SROP4KQ z!6vwJ)#?@e`9>?(td(CUzkb8UO`Er~7cZ`=08S%HlGTpF^#WG`9b8d2h$ zpPQSSSHj?2l$uzQnxasiS(2gP?&%v4-pD5oRHO=0lme8pN(QT7FfuSQ)-^EGH82e^ zFt9Q*urf5$1~Lo`RLdt`LeY?$pOTqYiCaU6mS!GMg9hA&lFZ!H;*!MN0!%$dMi5IX z|7$w}^+<#C0CS^Na(+Q&QD%BZ2}3|>Qch;Ff=hmGVrJg9iH6ZYWlAt*DXGQDMVSR9 znfZAPAkQfzm1gFY=w{|A6bHFG`J_7v167N{ROcqFN!D8u0C>gTe~DWM4ffu&&F literal 0 HcmV?d00001 diff --git a/public/img/logos/bang/lazy/network.png b/public/img/logos/bang/lazy/network.png index 73d86794d313dbe42fc214e4039b9d706e493ea7..a13d7c6964bbfcbed7bf9f811f09430f5228500c 100644 GIT binary patch delta 50 zcmZn{Y8Tqj#=^_ Gm;(S=0}iPG diff --git a/public/img/logos/bang/lazy/prettyandraw.png b/public/img/logos/bang/lazy/prettyandraw.png index 9cd2b1e023c5c9e781d39313dd8c75411b2eb265..91549f81abf00391ef6fbce03075eed7a2a98d24 100644 GIT binary patch delta 50 zcmZ20x>j_<8dgp=Rt6EVrG?LUHg9EhWf3>iH82e^Ft9QLA|q`e!@!{OzqaFKL9RIf DYcCE0 delta 50 zcmZ20x>j_<8dgq5b^&oi{mAY9o42yMvWOe%8kmO|npqhcTbWpD8yHv_7%aOIyJxZ> G*Bk(3dk%5{ diff --git a/public/img/logos/bang/lazy/screwthecops.png b/public/img/logos/bang/lazy/screwthecops.png index c34cfbb36320b2e5712dbd41818e55426f33e7bb..aa3f3fae1a54fc3f309b1cf753167d8780b2437e 100644 GIT binary patch delta 48 zcmcc0b(L#^A150tgNWGD!e=}i!@XI=&2$Y+LktY8jDW~U8^|y)sQj<(IC&?_8~{wX B4g3HA delta 48 zcmcc0b(L#^A15QbfViQ4|YybcN diff --git a/public/img/logos/bang/lazy/yngrcom.png b/public/img/logos/bang/lazy/yngrcom.png index eae4dd70992a760f11f5f6222fd27b9d123cd6a8..ec4b9ae154a9b07f1d166b47823d991ebc121453 100644 GIT binary patch delta 50 zcmcaAeN}n`I};}xD}#vmrLt?YHVZHbaf_Sj8kmL{7+4trk&!l#VPH`CU)yoACGQ*n DU6T#I delta 50 zcmcaAeN}n`I};}(yMVZ%e&lxl%>qn9+~S712Ie7#W>!YVRwkC(1_o9J2FtF*?wM@K GI|l$h*bRLE diff --git a/public/img/logos/bang/mystepdaughtersfriend.png b/public/img/logos/bang/mystepdaughtersfriend.png new file mode 100644 index 0000000000000000000000000000000000000000..97df7526d2021122edea9439704277e5e49a8141 GIT binary patch literal 12473 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 diff --git a/public/img/logos/bang/thumbs/bangcasting.png b/public/img/logos/bang/thumbs/bangcasting.png index 48325cceea36671f35ca0d1a559f294a7d5573b7..d35a7c290a09e2f83de0c1bc80bc11467e02cabe 100644 GIT binary patch delta 49 zcmZp3Y;&C8$H~UZAR@N3@EOm>@OC+IGhGAI5Ca1%BOo%;1~Lo`D*tOcZvHAakr4o0 CUk;7{ delta 49 zcmZp3Y;&C8$H~YpAa1B1x!r$bc)Ogqp{{{>h@qL4k+GGDrM7{Am4U&sE3tbvf0dia F2mn`V4*mcD diff --git a/public/img/logos/bang/thumbs/bangconfessions.png b/public/img/logos/bang/thumbs/bangconfessions.png index 202b01be12f70f234be7c129120287f8fa0e6b99..581d9e808b41a14c8d96abb1bf22e8b4af5d4be0 100644 GIT binary patch delta 51 zcmX>-oALB)#tD9$Y^)3-VoM93@oWq~<1KEcYhW5;U|?kgL`K>`hJiule{ILjRz4FM E0jM1hvj6}9 delta 51 zcmX>-oALB)#tD9$jO+s9hWe4){Wpf6@fJ7KH82k`G_x`?wlcBQHZZU5xI$s E0Cs>5r2qf` delta 51 zcmccWaMfW0I};}(yMVZ%e&lxl%>qnwWyB424a`Ff&8&=!txPPn4GgRd43=Gq-Lv_K H+(bqIa6Atc diff --git a/public/img/logos/bang/thumbs/bangglamkore.png b/public/img/logos/bang/thumbs/bangglamkore.png index f30abb1faf6dbdd17cface39cb6929dd37f30b35..034ff95b5193e57b7f15d33dc76759ff19239d99 100644 GIT binary patch delta 50 zcmew!{XKdEI};}xD}#vG(!ysvn+2Fmw8hPI4NOA}46KZR$VeN=Ffge6ukAQFT6Ycr Da?%b} delta 50 zcmew!{XKdEI};}(yMVZ%e&lxl%>qm&+Tw<~2Ie7#W>!YVRwkC(1_o9J2FtF*?wK5| GI|l%49uCC- diff --git a/public/img/logos/bang/thumbs/bangjapan.png b/public/img/logos/bang/thumbs/bangjapan.png index c95b9fea00c1b59fd4740d48bb92f99d3d91538b..2d0e0b7578a381c75880225d649ecbd63ac56160 100644 GIT binary patch delta 51 zcmeyZ|66|p4;v>ND}#vG(!ysvn?>2|1jNmB4NOA}46KZR$VeN=Ffge6ukE-wOKc(| E0COx36aWAK delta 51 zcmeyZ|66|p4;v>VyMVZ%e&lxl&7y2}K&GyNd5EEzm65TPiKVuIft7*5vMaHBHfM=V GWCQ?g=njMc diff --git a/public/img/logos/bang/thumbs/bangpodcast.png b/public/img/logos/bang/thumbs/bangpodcast.png index 7612a00b6ab22c2db54277ecd32b88bf4de14399..1411b1840e3ceec97e26f2fbe7f7d67ebaae8e9b 100644 GIT binary patch delta 50 zcmezG|KEQD8xtoRD}#vG(!ysvoB5e+RmIJ84NOA}46KZR$VeN=Ffge6ukAQFS$z%w Dae)p{ delta 50 zcmezG|KEQD8xtoZyMVZ%e&lxl&HPNZs^W&a2Ie7#W>!YVRwkC(1_o9J2FtF*?wOpd GJ_i75%?`i- diff --git a/public/img/logos/bang/thumbs/bangrammed.png b/public/img/logos/bang/thumbs/bangrammed.png index 842f0c3d9f5564bbdb2dd487e025f81a74e13b9b..cb1429766dd60bd64d6ff6ccb814ee7d60d89ea2 100644 GIT binary patch delta 51 zcmcbda5-TEI};}xD}#vG(!ysvn+2F=>xi4_8kmL{7+4trk&!l#VPH`CU)yo>A-#!= E0E5B~{Qv*} delta 51 zcmcbda5-TEI};}(yMVZ%e&lxl%>qobb;J#I4a`Ff&8&=!txPPn4GgRd43=Gq-Lv_S H-b6+KeSQyZ diff --git a/public/img/logos/bang/thumbs/bangrealmilfs.png b/public/img/logos/bang/thumbs/bangrealmilfs.png index 1cd6c9b3b7e4bb601cae728d340815dbf098c71c..761c2a4103a116afa0221d0be481dcfb49b21563 100644 GIT binary patch delta 48 zcmZorYEYWs$H~UZAR@N3@EOm>@NfL$X1WHZAqECkMnGhw4P+P?RQ}g?oSY&s2LMWh B4etN| delta 48 zcmZorYEYWs$H~YpAa1B1x!r$b_&0uWLtO*&5JNL7BV#KQOKk%KD+7aNS7P@}P7#;` E07M@SUjP6A diff --git a/public/img/logos/bang/thumbs/bangrealteens.png b/public/img/logos/bang/thumbs/bangrealteens.png index 770c8c06f7a4f02e3d05e07615a622bc25782749..8a97b09a03bdce7248492afd52c36fdc721e2c99 100644 GIT binary patch delta 49 zcmcbWd@Ff^A150tgNWGD!e=}i!*A=0o9P;uh8P%F83B=zHjrUpQ2AfmakHnvL`DFU C3lBvA delta 49 zcmcbWd@Ff^A15QbfViQ4JEVT^`tPBj6U5VYZ+0$Sm FBLIyS548XQ diff --git a/public/img/logos/bang/thumbs/bangroadsidexxx.png b/public/img/logos/bang/thumbs/bangroadsidexxx.png index b36351d60e68f855e05da37c75e797f1fc14ad9d..acb93a9e8a91168e3db22147cb158d1136a6e28f 100644 GIT binary patch delta 50 zcmaD-{iJ#WI};}xD}#vG(!ysvn+2E@t;NlB4NOA}46KZR$VeN=Ffge6ukAS5!*&h; DcL@$@ delta 50 zcmaD-{iJ#WI};}(yMVZ%e&lxl%>qn{*5Zb`2Ie7#W>!YVRwkC(1_o9J2FtF*?wRai GI|l%8RSwwz diff --git a/public/img/logos/bang/thumbs/bangsurprise.png b/public/img/logos/bang/thumbs/bangsurprise.png index a5f1c82814fefe83773c57f9c777e956ac1ca217..a333e19c1652167d6e0e0f6363e2a806563ee60e 100644 GIT binary patch delta 49 zcmexr@zr92A150tgNWGD!e=}i!^@<^&2$Y+LktY8jDW~U8^|y)sQj<(xcQ0HL`DFB C+7B=Q delta 49 zcmexr@zr92A15QbfViQ4GYZ4$H~UZAR@N3@EOm>aBdZGGhGAI5Ca1%BOo%;1~Lo`D*tOcZmv|Bzz6_R CSq;4a delta 49 zcmeD5>GYZ4$H~YpAa1B1x!r$bIJb(pp{{{>h@qL4k+GGDrM7{Am4U&sE3tbvSE@{4 F1OQBA4lMux diff --git a/public/img/logos/bang/thumbs/favicon.png b/public/img/logos/bang/thumbs/favicon.png index 72e47d47e79e1abfe062477ca973ce318dae7f3b..cb225e455520a60579a8ae85845089c485d3c346 100644 GIT binary patch delta 50 zcmew<@Ka!eItwQoD}#vG(!ysvn+;f|F^ik&8kmL{7+4trk&!l#VPH`CU)yo=UG_Nu DY1$5* delta 50 zcmew<@Ka!eItwQwyMVZ%e&lxl%?2#fn8gis4a`Ff&8&=!txPPn4GgRd43=Gq-81HiK+o+vp709sQM?EnA( delta 91 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 GIR^l4Vh+s! diff --git a/public/img/logos/bang/thumbs/screwthecops.png b/public/img/logos/bang/thumbs/screwthecops.png index d1f31740db838ee378f796dd59727b23d55b8f30..387c76f4d5bf40c4f80cd5c7cf15c36141f4c7fe 100644 GIT binary patch delta 48 zcmbPfIMZ-~A150tgNWGD!e=}i!~4a>&2$Y+LktY8jDW~U8^|y)sQj<(IQg&m8~{(n B4uAjv delta 48 zcmbPfIMZ-~A15QbfViQ4H`6sR4KXmVG6EtaZ6L$Ipz^=A<7EB7 FIRJoH4u1du delta 52 zcmX@TnDO*t#trODoQ&)O;)eQ>+x<5SFmd>c8|oUEhZve!85vudSZW&>SQ!{ByAr!+ IvVPzk0C}Sh?*IS* diff --git a/seeds/02_sites.js b/seeds/02_sites.js index ae5b4462..df542cdc 100755 --- a/seeds/02_sites.js +++ b/seeds/02_sites.js @@ -1020,6 +1020,13 @@ const sites = [ parameters: { siteId: 6305 }, parent: 'bang', }, + { + name: 'My Stepdaughter\'s Friend', + slug: 'mystepdaughtersfriend', + url: 'https://www.bang.com/videos?in=My%20Stepdaughter%27s%20Friend', + parameters: { siteId: 7072 }, + parent: 'bang', + }, // BANGBROS { name: 'Ass Parade', diff --git a/src/scrapers/bang.js b/src/scrapers/bang.js index e4078d78..2248e685 100755 --- a/src/scrapers/bang.js +++ b/src/scrapers/bang.js @@ -51,13 +51,15 @@ function scrapeAll(scenes, entity) { return scenes.map(({ query }) => { const release = {}; - release.url = query.url('.video_preview_container > a', { origin: entity.url }); - release.entryId = query.attribute(null, 'data-video-id') || decodeId(new URL(release.url).pathname.match(/\/video\/([\w-]+)\//)?.[1]); + release.url = query.url('a', { origin: entity.url }); + release.entryId = query.dataset('a', 'videopreview-id-value') || decodeId(new URL(release.url).pathname.match(/\/video\/([\w-]+)\//)?.[1]); - release.title = query.content('.video_preview_container >a > span.block'); - release.date = query.date('.videoInfo .statistics span', 'MMM DD, YYYY'); + release.title = query.content('a > span.block'); + release.date = query.date('a + div', 'MMM DD, YYYY'); - release.actors = query.elements('.videoInfo a[href*="/pornstar"]').map((el) => ({ + release.duration = query.duration('[data-videopreview-target="duration"]', { attribute: 'data-content' }); + + release.actors = query.elements('a + div a[href*="/pornstar"]').map((el) => ({ name: unprint.query.content(el), url: unprint.query.url(el, null, { origin: 'https://www.bang.com' }), })); @@ -72,7 +74,16 @@ function scrapeAll(scenes, entity) { ]; } - release.teaser = query.video(); + const videoData = query.json('a', { attribute: 'data-videopreview-sources-value' }); + + if (videoData) { + release.teaser = [ + videoData.mp4_large, + videoData.webm_large, + videoData.mp4, + videoData.webm, + ]; + } return release; }); @@ -80,21 +91,21 @@ function scrapeAll(scenes, entity) { async function scrapeScene({ query }, { url, entity }) { const release = {}; - const data = query.json('script[type="application/ld+json"]'); + const data = query.json('//script[contains(text(), "VideoObject")]'); release.entryId = data?.['@id'] || decodeId(new URL(url).pathname.match(/\/video\/([\w-]+)\//)?.[1]); - release.title = data?.name || query.content('.video-heading'); - release.description = data?.description || query.content('.expanded p.clear-both'); + release.title = data?.name || query.content('.video-container + div h1'); + release.description = data?.description || query.content('//div[contains(@class, "actions")]/preceding-sibling::p'); release.date = unprint.extractDate(data?.datePublished, 'YYYY-MM-DD') || query.date('//p[contains(text(), "Date:")]', 'MMM DD, YYYY'); release.duration = unprint.extractTimestamp(data?.duration) || query.duration('//p[contains(text(), "Playtime:")]//span'); - if (data?.actors) { + if (data?.actor) { release.actors = data.actor.map((actor) => ({ name: actor.name, url: actor.url, - avatar: getAvatarFallback(query.img(`.video-actors img[alt="${actor.name}"]`)), + avatar: getAvatarFallback(query.img(`a[href*="/pornstar"] img[alt="${actor.name}"]`)), })); } else { release.actors = query.elements('//div[contains(@class, "video-actors")]//a[img|picture]').map((element) => ({ @@ -104,27 +115,35 @@ async function scrapeScene({ query }, { url, entity }) { })); } - release.tags = query.contents('.expanded .genres'); + release.tags = query.contents('.actions .genres'); - release.poster = data?.thumbnailUrl || data?.contentUrl || query.attribute('meta[name*="og:image"]', 'content'); - release.teaser = query.video('video[data-videocontainer-target] source'); + const videoData = query.json('.video-container [data-videopreview-sources-value]', { attribute: 'data-videopreview-sources-value' }); - release.photos = JSON.parse(query.attribute('[data-video-gallery-photos-value]', 'data-video-gallery-photos-value')); - release.photoCount = query.number('[data-video-gallery-count-value]', { attribute: 'data-video-gallery-count-value' }); + release.poster = data?.thumbnailUrl || query.attribute('meta[property="og:image"]', 'content'); + release.teaser = (videoData && [ + videoData.mp4_large, + videoData.webm_large, + videoData.mp4, + videoData.webm, + ]) + || data?.contentUrl + || query.attribute('meta[property="og:video"]') + || query.video('video[data-videocontainer-target] source'); - const channelName = query.content('.expanded a[href*="?in="]')?.trim(); + release.photos = query.sourceSets('.photo-set img'); + release.photoCount = query.number('//h2[contains(text(), "Photos")]/following-sibling::span'); + + const channelName = query.content('.video-container + div a[href*="?in="]')?.trim(); if (channelName) { release.channel = entity.children?.find((channel) => new RegExp(channel.name, 'i').test(channelName) || slugify(channelName) === channel.slug)?.slug; } - console.log(release); - return release; } async function fetchActorScenes(element, url, entity, page = 1, acc = []) { - const scenes = scrapeAll(unprint.initAll(element, '.search-grid li'), entity); + const scenes = scrapeAll(unprint.initAll(element, '.video_container'), entity); if (scenes.length) { const nextPageRes = await unprint.post(url, { page: page + 1 }); @@ -141,7 +160,7 @@ async function scrapeProfile({ query, element }, url, entity, include) { const profile = { url }; profile.dateOfBirth = query.date('//text()[contains(., "Born")]/following-sibling::span[contains(@class, "font-bold")][1]', 'MMMM D, YYYY'); - profile.birthPlace = query.content('//text()[contains(., "in")]/following-sibling::span[contains(@class, "font-bold")][1]'); + profile.birthPlace = query.content('//text()[contains(., "From")]/following-sibling::span[contains(@class, "font-bold")][1]'); profile.ethnicity = query.content('//text()[contains(., "Ethnicity")]/following-sibling::span[contains(@class, "font-bold")][1]'); @@ -158,8 +177,8 @@ async function scrapeProfile({ query, element }, url, entity, include) { } async function fetchLatest(channel, page = 1) { - const url = `${channel.url}&page=${page}`; - const res = await unprint.get(url, { selectAll: '.search-grid li' }); + const url = `${channel.url}&by=date.desc&page=${page}`; + const res = await unprint.get(url, { selectAll: '.video_container' }); if (res.ok) { return scrapeAll(res.context, channel); @@ -168,8 +187,8 @@ async function fetchLatest(channel, page = 1) { return res.status; } async function fetchUpcoming(channel) { - const url = `${channel.url}&early-access=true`; - const res = await unprint.get(url, { selectAll: '.search-grid li' }); + const url = `${channel.url}&by=date.desc&early-access=true`; + const res = await unprint.get(url, { selectAll: '.video_container' }); if (res.ok) { return scrapeAll(res.context, channel); diff --git a/src/scrapers/newsensations.js b/src/scrapers/newsensations.js index 0f84cfcd..f57de429 100755 --- a/src/scrapers/newsensations.js +++ b/src/scrapers/newsensations.js @@ -76,6 +76,8 @@ function scrapeSceneBlock({ query }) { release.poster = query.img('#trailer_thumb img[src*=content]'); release.trailer = query.video('#trailerVideo source'); + release.photoCount = query.number('.sceneDateP', { match: /(\d+)\s+(photo|pic)/i, matchIndex: 1 }); + return release; }