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
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
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
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
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)
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)
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