The Pirate Bay


In [47]:
from tpb import TPB
from tpb import CATEGORIES, ORDERS

In [48]:
t = TPB('https://thepriatebay.sx')

In [49]:
search = t.search('homeland', category=CATEGORIES.VIDEO.MOVIES)

In [51]:
pagSea = search.page(0).multipage()

for pag in pagSea:
    print pag


---------------------------------------------------------------------------
URLError                                  Traceback (most recent call last)
<ipython-input-51-e22ab9fb44b8> in <module>()
      1 pagSea = search.page(0).multipage()
      2 
----> 3 for pag in pagSea:
      4     print pag

/usr/local/lib/python2.7/dist-packages/tpb/tpb.pyc in items(self)
    129             while True:
    130                 items = super(Paginated, self).items()
--> 131                 first = next(items, None)
    132                 if first is None:
    133                     raise StopIteration()

/usr/local/lib/python2.7/dist-packages/tpb/tpb.pyc in items(self)
     53         torrent on page.
     54         """
---> 55         request = urlopen(str(self.url))
     56         content = request.read()
     57         page = BeautifulSoup(content, "lxml")

/usr/lib/python2.7/urllib2.pyc in urlopen(url, data, timeout)
    125     if _opener is None:
    126         _opener = build_opener()
--> 127     return _opener.open(url, data, timeout)
    128 
    129 def install_opener(opener):

/usr/lib/python2.7/urllib2.pyc in open(self, fullurl, data, timeout)
    402             req = meth(req)
    403 
--> 404         response = self._open(req, data)
    405 
    406         # post-process response

/usr/lib/python2.7/urllib2.pyc in _open(self, req, data)
    420         protocol = req.get_type()
    421         result = self._call_chain(self.handle_open, protocol, protocol +
--> 422                                   '_open', req)
    423         if result:
    424             return result

/usr/lib/python2.7/urllib2.pyc in _call_chain(self, chain, kind, meth_name, *args)
    380             func = getattr(handler, meth_name)
    381 
--> 382             result = func(*args)
    383             if result is not None:
    384                 return result

/usr/lib/python2.7/urllib2.pyc in https_open(self, req)
   1220 
   1221         def https_open(self, req):
-> 1222             return self.do_open(httplib.HTTPSConnection, req)
   1223 
   1224         https_request = AbstractHTTPHandler.do_request_

/usr/lib/python2.7/urllib2.pyc in do_open(self, http_class, req)
   1182         except socket.error, err: # XXX what error?
   1183             h.close()
-> 1184             raise URLError(err)
   1185         else:
   1186             try:

URLError: <urlopen error [Errno 110] Connection timed out>

In [52]:
t.top().category(CATEGORIES.VIDEO.MOVIES)


Out[52]:
<tpb.tpb.Top at 0x41de690>

In [53]:
t.search('24').order(ORDERS.SEEDERS.ASC).page(3)


Out[53]:
<tpb.tpb.Search at 0x41de7d0>

In [54]:
search = t.search('breaking bad', category=CATEGORIES.VIDEO.MOVIES)

In [55]:
search.page(2)


Out[55]:
<tpb.tpb.Search at 0x41de610>

In [55]:


In [56]:
search.order(ORDERS.SEEDERS.ASC).multipage()


Out[56]:
<tpb.tpb.Search at 0x41de610>

In [57]:
breaking = t.search('breaking bad').order(ORDERS.SEEDERS.ASC).page(0)

In [58]:
for brea in breaking:
    print brea


---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-58-b8b30db6642f> in <module>()
----> 1 for brea in breaking:
      2     print brea

/usr/local/lib/python2.7/dist-packages/tpb/tpb.pyc in items(self)
    138                 self.next()
    139         else:
--> 140             for item in super(Paginated, self).items():
    141                 yield item
    142 

/usr/local/lib/python2.7/dist-packages/tpb/tpb.pyc in items(self)
     53         torrent on page.
     54         """
---> 55         request = urlopen(str(self.url))
     56         content = request.read()
     57         page = BeautifulSoup(content, "lxml")

/usr/lib/python2.7/urllib2.pyc in urlopen(url, data, timeout)
    125     if _opener is None:
    126         _opener = build_opener()
--> 127     return _opener.open(url, data, timeout)
    128 
    129 def install_opener(opener):

/usr/lib/python2.7/urllib2.pyc in open(self, fullurl, data, timeout)
    402             req = meth(req)
    403 
--> 404         response = self._open(req, data)
    405 
    406         # post-process response

/usr/lib/python2.7/urllib2.pyc in _open(self, req, data)
    420         protocol = req.get_type()
    421         result = self._call_chain(self.handle_open, protocol, protocol +
--> 422                                   '_open', req)
    423         if result:
    424             return result

/usr/lib/python2.7/urllib2.pyc in _call_chain(self, chain, kind, meth_name, *args)
    380             func = getattr(handler, meth_name)
    381 
--> 382             result = func(*args)
    383             if result is not None:
    384                 return result

/usr/lib/python2.7/urllib2.pyc in https_open(self, req)
   1220 
   1221         def https_open(self, req):
-> 1222             return self.do_open(httplib.HTTPSConnection, req)
   1223 
   1224         https_request = AbstractHTTPHandler.do_request_

/usr/lib/python2.7/urllib2.pyc in do_open(self, http_class, req)
   1179 
   1180         try:
-> 1181             h.request(req.get_method(), req.get_selector(), req.data, headers)
   1182         except socket.error, err: # XXX what error?
   1183             h.close()

/usr/lib/python2.7/httplib.pyc in request(self, method, url, body, headers)
    971     def request(self, method, url, body=None, headers={}):
    972         """Send a complete request to the server."""
--> 973         self._send_request(method, url, body, headers)
    974 
    975     def _set_content_length(self, body):

/usr/lib/python2.7/httplib.pyc in _send_request(self, method, url, body, headers)
   1005         for hdr, value in headers.iteritems():
   1006             self.putheader(hdr, value)
-> 1007         self.endheaders(body)
   1008 
   1009     def getresponse(self, buffering=False):

/usr/lib/python2.7/httplib.pyc in endheaders(self, message_body)
    967         else:
    968             raise CannotSendHeader()
--> 969         self._send_output(message_body)
    970 
    971     def request(self, method, url, body=None, headers={}):

/usr/lib/python2.7/httplib.pyc in _send_output(self, message_body)
    827             msg += message_body
    828             message_body = None
--> 829         self.send(msg)
    830         if message_body is not None:
    831             #message_body was not a string (i.e. it is a file) and

/usr/lib/python2.7/httplib.pyc in send(self, data)
    789         if self.sock is None:
    790             if self.auto_open:
--> 791                 self.connect()
    792             else:
    793                 raise NotConnected()

/usr/lib/python2.7/httplib.pyc in connect(self)
   1170 
   1171             sock = socket.create_connection((self.host, self.port),
-> 1172                                             self.timeout, self.source_address)
   1173             if self._tunnel_host:
   1174                 self.sock = sock

/usr/lib/python2.7/socket.pyc in create_connection(address, timeout, source_address)
    560             if source_address:
    561                 sock.bind(source_address)
--> 562             sock.connect(sa)
    563             return sock
    564 

/usr/lib/python2.7/socket.pyc in meth(name, self, *args)
    222 
    223 def meth(name,self,*args):
--> 224     return getattr(self._sock,name)(*args)
    225 
    226 for _m in _socketmethods:

KeyboardInterrupt: 

In [ ]:
blah = t.search('babylon 5').page(0).multipage()

In [ ]:
for bad in blah:
    print bad

In [ ]:


In [ ]: