
    y6i3                         d dl Z d dlZd dlZd dlZd dlmZ d dlZej	        
                    d           d dlmZ  G d de          ZdS )    N)PyQueryz..)Spiderc                   n     e Zd Z fdZd Zd Zd Zd Zd Zd Z	d Z
d	 ZddZd Zd Zd Zd Z xZS )r   c                    t                                                       d| _        t          j                    | _        | j        j                            d| j        ddd           g dddd	d
ddd	dddd	dddd	dddd	dddd	dddd	dddd	dddd	d d!d"d	d#d$d%d	d&d'd(d	d)d*d+d	d,d-d.d	d/d0d1d	d2d3d4d	d5d6d7d	d8d9d:d	d;d<d=d	d>d?d@d	dAdBd7d	dCdDd7d	dEdFdGd	dHdIdJd	dKdLdd	dMdNdOd	dPdQdd	dRdSdTd	dUdVd4d	dWdXdd	dYdZd[d	d\d]d^d	d_d`dad	dbdcddd	dedfdgd	dhdidjd	dkdldmd	dndodpd	dqdrdsd	dtdudsd	| _        d S )vNzhttp://oxax.tvzoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36z?text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8zzh-CN,zh;q=0.9,en;q=0.8)
User-AgentRefererAcceptzAccept-Languageu   ОХ-АХ HDz/oh-ah.htmlzhttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQSQ3gk-W-dl9-V-RPH-TFaJv1Eg6IbtRb3ENCiHdUXihMU0Qg-9IUMyUJV8_RtlT9LSY8&usqp=CAU)titlehrefimagezCineMan XXX HDz/sl-hot1.htmlzahttps://yt3.ggpht.com/ytc/AKedOLR8CSuliVmhPyo9nxofgZWCI9fZKrqL-PFki3b8=s900-c-k-c0x00ffffff-no-rjzCineMan XXX2 HDz/sl-hot2.htmlzBrazzers TV Europez/brazzers-tv-europe.htmlzFhttps://vpnpick.com/wp-content/uploads/2019/05/Unblock-Brazzers-TV.jpgzBrazzers TVz/brazzers-tv.htmlzRed Lipsz/red-lips.htmlzUhttps://s.tmimgcdn.com/scr/1200x750/172200/red-lips-logo-template_172226-original.jpgKinoXXXz/kino-xxx.htmlzchttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRc7KHiV3wAZTd3fxOPdRhiwsaIV_Rseyhetw&usqp=CAUz	XY Max HDz/xy-max-hd.htmlz4https://tvonline.bg/wp-content/uploads/XY-Max-tv.pngz
XY Plus HDz/xy-plus-hd.htmlzxhttps://1.bp.blogspot.com/-a_cEapx6Kn8/XCmysO6lFsI/AAAAAAAAGUA/tYPpA4natrUSP9TzOcYEq9hntj6F6I1uQCLcBGAs/s1600/XYPlus.pngz	XY Mix HDz/xy-mix-hd.htmlzhttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSqBz7zcnA_-3Uzc5tyziaXHYHXRKQzCbiUsBVHlMoelOkDoWubhvc58JIwTwquwhhKBhw&usqp=CAUzBarely legalz/barely-legal.htmlzhttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQQtEzEFznJo6dHBs6xljoBEYDUOFvFS29f3nthDqB0qbNVUCBMxE2CaUgdtgaBQbut7Bc&usqp=CAUz
Playboy TVz/playboy-tv.htmlzIhttps://seeklogo.com/images/P/playboy-tv-logo-8447C82DEB-seeklogo.com.pngzVivid Red HDz/vivid-red.htmlzXhttps://www.videosatservice.eu/wp-content/uploads/2017/01/VIVID-EUROPE-TOUCH-FINAL-1.pngzExxxotica HDz/hot-pleasure.htmlz3https://www.lyngsat.com/logo/tv/ee/exxxotica-ru.pngzBabes TVz/babes-tv.htmlzhttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRzNRbMyt8e8auGhD8bWHBrsGbQxLdaWbQe7H6cM5GNmmHtksLqxZyapdmncJt_f3moNdA&usqp=CAUu   Русская ночьz/russkaya-noch.htmlzKhttps://new.strah.tv/uploads/posts/2019-02/medium/1549285137_extasy_big.pngz	Pink O TVz/pink-o.htmlzMhttps://adult-tv-channels.com/wp-content/uploads/2021/09/redlight-hd-logo.pngzErox HDz/erox-hd.htmlzThttp://okporntv.com/wp-content/uploads/e8e83fc0ec61b284c54d5ac01a282145-321x211.jpegz	Eroxxx HDz/eroxxx-hd.htmlzhttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTVg050bKmSjWZ5SARnx7qseE2UibjbnI3QAZC0BIKAI2Oiu6BewbQKFBRyjUIv54dvRVA&usqp=CAUz
Hustler HDz/hustler-hd.htmlz@https://upload.wikimedia.org/wikipedia/en/c/c0/HUSTLER_TV_HD.pngz
Private TVz/private-tv.htmlzRedlight HDz/redlight-hd.htmlzPenthouse Gold HDz/penthouse-gold.htmlz0https://penthousegold.com/images/logo_phGold.pngzPenthouse Quickiesz/penthouse-2.htmlzhttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSQdOI0kcO2OwMdiy_TaWnwO7b4VuYh7H4HNxObeZz7fQ5NOXNLfWmj6F9PpYdb5KkS8Fo&usqp=CAUzO-la-laz/o-la-la.htmlzBlue Hustlerz/blue-hustler.htmlz}https://static.wikia.nocookie.net/tvfanon6528/images/8/80/Blue_Hustler_%282001-.n.v.%29.png/revision/latest?cb=20180312091828u
   Шалунz/shalun.htmlz	Dorcel TVz/dorcel-tv.htmlz`https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Dorcel_TV.svg/2560px-Dorcel_TV.svg.pngz	Extasy HDz/extasyhd.htmlXXLz	/xxl.htmlzFAP TV 2z/fap-tv-2.htmlzGhttps://i.pinimg.com/474x/60/99/76/609976515a6060808317d4652ac63a3e.jpgzFAP TV 3z/fap-tv-3.htmlzXhttp://okteve.com/wp-content/uploads/media/1cfd26a1b4f7dfb8023ff3d4c7f36ec5-520x293.jpegzFAP TV 4z/fap-tv-4.htmlzXhttp://okteve.com/wp-content/uploads/media/cd1153aece771a6d5c6be0dcfe188245-520x293.jpegzFAP TV Parodyz/fap-tv-parody.htmlzGhttps://i.pinimg.com/236x/95/36/54/953654df639272bbce26ccaad434644a.jpgzFAP TV Compilationz/fap-tv-compilation.htmlzXhttp://okteve.com/wp-content/uploads/media/59eb09001a388f2d691a9b1c83c0f088-520x293.jpegzFAP TV Analz/fap-tv-anal.htmlzXhttp://okteve.com/wp-content/uploads/media/df180a1f2f441b6282ce427ecfc7ff3a-520x293.jpegzFAP TV Teensz/fap-tv-teens.htmlzGhttps://i.pinimg.com/236x/20/87/bb/2087bb0876b99a08fe7a122ab9c0ba6f.jpgzFAP TV Lesbianz/fap-tv-lesbian.htmlzXhttp://okteve.com/wp-content/uploads/media/c449b41987c74cf9cc0dea2ab692b893-520x293.jpegz
FAP TV BBWz/fap-tv-bbw.htmlzHhttps://adult-tv-channels.com/wp-content/uploads/2021/09/Fap-TV-logo.pngzFAP TV Transz/fap-tv-trans.html)	super__init__base_urlrequestsSessionsessionheadersupdateall_channels)self	__class__s    /   /storage/emulated/0/纯福利/py1/yyds直播.pyr   zSpider.__init__   sk   ('))##1 }W8	%
 	%
 		 		 		)
$m  GM  N  N)
&  Kn  o  o)
 (  Lo  p  p)
 +4N  Zb  c  c	)

 $-@  LT  U  U)
 !*:  F]  ^  ^)
  )9  Ej  k  k)
 "+<G}~~)
 #,>  JD  E  E)
 "+<  HN  O  O)
 %.B  NT  U  U)
 #,>  JU  V  V)
 %.?  Ke  f  f)
 %.B  NC  D  D)
 !*:  FL  M  M)
  09N  Zg  h  h!)
" ">  ET  U  U#)
$    DZ  [  [%)
& "+<  HN  O  O')
( #,>  JL  M  M))
* #,>  JY  Z  Z+)
, $-@  L[  \  \-)
. *3I  UG  H  H/)
0 +4G  SY  Z  Z1)
2    D[  \  \3)
4 %.B  NM  N  N5)
6 #N  FN  O  O7)
8 "+<  Hj  k  k9)
: "+;  GT  U  U;)
< [;qrr=)
> !*:  FO  P  P?)
@ !*:  F`  a  aA)
B !*:  F`  a  aC)
D &/D  PY  Z  ZE)
F +4N  Zt  u  uG)
H $-@  Lf  g  gI)
J %.B  NW  X  XK)
L '0F  Rl  m  mM)
N #,>  JT  U  UO)
P %.B  NX  Y  YQ)
    c                     |sdS |                     d          r|S |                     d          rd|z   S |                     d          r
| j        |z   S |                    dd          d         dz   |z   S )N httpz//zhttp:/   r   )
startswithr   rsplit)r   baseurls      r   _abs_urlzSpider._abs_urlJ   s     	2>>&!! 	J>>$ 	!S= >># 	'=3&&{{3""1%+c11r   c                     ddddddddd	d
ddd}d}|                                 }|                                D ]\  }}||v r|} nt          j                            |d d                   }d| d| S )NFFD700FF69B4DC143C9370DBFF14938B008BFF63474169E1FF4500DA70D6FF00FF8A2BE2)brazzersplayboyhustler	penthousevividprivatedorcelcinemanfapxyeroxkino1E90FF   z$https://via.placeholder.com/400x225/z/FFFFFF?text=)loweritemsurllibparsequote)r   channel_name	color_mapcolor
name_lowerkeycoltexts           r   _get_channel_imagezSpider._get_channel_imageU   s     !X(!H8HHh	
 
	 !''))
!)) 	 	HCj   ! |!!,ss"344PePP$PPPr   c                     dS )Nu
   OXAX直播 r   s    r   getNamezSpider.getNameh   s    |r   c                     d S NrO   )r   extends     r   initzSpider.initk   s    r   c                 "    ddddddddddgiS )	Nclassu   全部频道all)	type_nametype_idu   HD频道hdu	   FAP系列r;   rO   )r   filters     r   homeContentzSpider.homeContentn   s5    ,??(T::)e<<
 	
r   c                     g }| j         D ]U}|                    |d         |d         |                    d|                     |d                             dd           Vd|iS )Nr   r
   r      直播vod_idvod_namevod_picvod_remarkslist)r   appendgetrM   )r   videoschs      r   homeVideoContentzSpider.homeVideoContentw   s    # 	 	BMMV*wK66'4+B+B2g;+O+OPP'	      r   c                    t          |          }d}|dk    rd | j        D             }n|dk    rd | j        D             }n| j        }|dz
  |z  }||z   }|||         }	g }
|	D ]U}|
                    |d         |d         |                    d	|                     |d                             d
d           V|
|t          dt          |          |z   dz
  |z            |t          |          dS )N   r[   c                 J    g | ] }d |d                                          v |!S )HDr
   upper.0ri   s     r   
<listcomp>z*Spider.categoryContent.<locals>.<listcomp>   s2    VVVr$"W+BSBSBUBU:U:U:U:U:Ur   r;   c                 J    g | ] }d |d                                          v |!S )FAPr
   ro   rq   s     r   rs   z*Spider.categoryContent.<locals>.<listcomp>   s2    WWWr%2g;CTCTCVCV:V:V:V:V:Vr   r    r   r
   r   r_   r`   )re   page	pagecountlimittotal)intr   rf   rg   rM   maxlen)r   tidpgr\   rT   items_per_pagechannelsstartendpage_channelsrh   ri   s               r   categoryContentzSpider.categoryContent   s4   WW$;;VVT%6VVVHHE\\WWT%6WWWHH(Ha>)n$ s+ 	 	BMMV*wK66'4+B+B2g;+O+OPP'	      QX!?!!C VWW#]]
 
 	
r   c           	         |r|d         sdg iS |d         }|                      | j        |          }|                    dd                              dd                              dd                                          }|                     |          }| j        D ].}|d         |k    r |d	         }|                    d
|          } n/|||ddd| d| d}d|giS )Nr   re   z.htmlr   r   - r   r
   r   r_   u   成人电视直播频道OXAX$)ra   rb   rc   rd   vod_contentvod_play_fromvod_play_url)r%   r   replacer
   rM   r   rg   )r   arrayrelative_path
detail_urlr
   r   ri   vods           r   detailContentzSpider.detailContent   s    	 E!H 	 B<a]]4=-@@
%%gr22::3CCKKCQTUU[[]]''..# 	 	B&z]**7w.. + $#5#$33z33
 
 r   1c                 4   |sdg iS |                                 }g }| j        D ]q}||d                                          v rS|                    |d         |d         |                    d|                     |d                             dd           rd|iS )Nre   r
   r   r   r_   r`   )rA   r   rf   rg   rM   )r   rJ   quickrv   	key_lowerresultsri   s          r   searchContentzSpider.searchContent   s     	 B<IIKK	# 	 	BBwK--//// j "7!vvgt/F/Fr'{/S/STT#+	         r   c                    ddd| j         j                            d          | j        dd}|s|S 	 |}d|v r|                    d          d         }d| |d	<   n)# t
          $ r}t          d
|            Y d }~nd }~ww xY w|S )Nr   r   r   )r   r   )rD   playUrlr$   headerr   r    zvideo://r$   u   [ERROR] 播放器解析失败: )r   r   rg   r   split	Exceptionprint)r   flagidvipFlagsresultr$   es          r   playerContentzSpider.playerContent   s    "l266|DD= 	
 
  	M	9CczziinnQ',s,,F5MM 	9 	9 	97A7788888888	9 s   )A 
B&A==Bc                     dS NFrO   )r   r$   s     r   isVideoFormatzSpider.isVideoFormat       ur   c                     dS r   rO   rP   s    r   manualVideoCheckzSpider.manualVideoCheck   r   r   c                     i S rS   rO   )r   params     r   
localProxyzSpider.localProxy   s    	r   )r   )__name__
__module____qualname__r   r%   rM   rQ   rU   r]   rj   r   r   r   r   r   r   r   __classcell__)r   s   @r   r   r      s       :
 :
 :
 :
 :
x	2 	2 	2Q Q Q&    
 
 
	  	  	 
 
 
@  8! ! ! !$  4          r   r   )resysurllib.parserC   jsonpyqueryr   pqr   pathrf   base.spiderr   
BaseSpiderrO   r   r   <module>r      s    				 



      ! ! ! ! ! !      , , , , , ,d d d d dZ d d d d dr   