Ejemplo n.º 1
0
 async def handle(self, url):
     content = await self.http.get(url)
     doc = content >> to_doc
     pro_lst = doc.xpath('//table//tr[position()>1]')
     proxies = []
     for pro in pro_lst:
         port = pro >> extra_head('//td[position()=7]/text()')
         host = pro >> extra_head('//td[position()=8]/text()')
         proxies.append([host, port])
     return proxies
Ejemplo n.º 2
0
 async def handle(self, url):
     content = await self.http.get(url)
     doc = content >> to_doc
     pro_lst = doc.xpath('//table[@id="proxy_list"]//tr[position()>1]')
     proxies = []
     for pro in pro_lst:
         ip_text = pro >> extra_head('./td[position()=1]/script/text()')
         encode_host = ip_text.strip(')"').split('"')[-1]
         if len(encode_host) <= 32:
             continue
         host = b64decode(encode_host).decode('utf8')
         port = pro >> extra_head('./td[position()=2]//text()')
         proxies.append([host, port])
     return proxies
Ejemplo n.º 3
0
 async def handle(self, url):
     content = await self.http.get(url)
     doc = content >> to_doc
     pro_lst = doc.xpath('//table//tr[position()>1]')
     proxies = []
     for pro in pro_lst:
         ip_text = pro >> extra_head('.//abbr/script/text()')
         if not ip_text:
             continue
         ip_lst = ip_text.split("'")
         pre, suff = ip_lst[1], ip_lst[3]
         host = pre[8:]+suff
         port = pro >> extra_head('./td[position()=2]/a/text()')
         proxies.append([host, port])
     return proxies
Ejemplo n.º 4
0
 async def handle(self, url):
     content = await self.http.get(url)
     doc = content >> to_doc
     pro_lst = doc.xpath('//div[@id="main"]/table//tr[position()>1]')
     proxies = []
     for pro in pro_lst:
         ip_text = pro >> extra_head('./td[position()=1]/script/text()')
         if len(ip_text) <= 32:
             continue
         encode_host = ip_text.strip(')"').split('"')[-1]
         host = self.decode(encode_host)
         if not host:
             continue
         port = pro >> extra_head('./td[position()=2]//text()')
         proxies.append([host, port])
     return proxies
Ejemplo n.º 5
0
 async def handle(self, url):
     doc = await self.http.get(url) >> to_doc
     items = doc.xpath("//table//tr[position()>=%s]" % self.start_pos)
     proxies = []
     for item in items:
         try:
             host = item >> extra_head(
                 "./td[position()=%s]//text()" % self.td_idx[0])
             port = item >> extra_head(
                 "./td[position()=%s]//text()" % self.td_idx[1])
         except Exception:
             continue
         if len(port) > 5:
             continue
         proxies.append((host, port))
     await self.valid_ip(proxies)
Ejemplo n.º 6
0
 async def handle(self, url):
     content = await self.http.get(url)
     doc = content >> to_doc
     items = doc >> extra_head('//pre/text()')
     proxies = []
     for item in items.split('\n'):
         raw = item.strip('\r\t" ')
         if not raw:
             continue
         [host, port] = raw.split(':')
         proxies.append([host, port])
     await self.valid_ip(proxies)
Ejemplo n.º 7
0
 async def handle(self, url):
     content = await self.http.get(url)
     doc = content >> to_doc
     pro_lst = doc.xpath(
         '//table[contains(@class,"proxylist_table")]//tr[position()>=1]')
     proxies = []
     for pro in pro_lst:
         href = pro >> extra_head('./td/a/@href')
         if not href:
             continue
         [host, port] = href.split('/')[-1].split(':')
         proxies.append([host, port])
     return proxies