You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
941 B

import requests
from pyquery import PyQuery as pq
BASE_URL = 'https://www.cheese.com'
class CheeseComError(Exception):
pass
class CheeseCom(object):
def query(self, q):
try:
r = requests.get(BASE_URL, params=dict(q=q))
if not r.history:
raise CheeseComError('no exact match')
d = pq(r.content)
summary = []
for p in d('ul[class="summary-points"]').find('p').items():
summary.append(p.html(method='text'))
return dict(
url=d('meta[name="twitter:url"]').attr('content'),
name=d('meta[name="twitter:title"]').attr('content'),
description=d('meta[name="twitter:description"]').attr('content'),
image=d('meta[name="twitter:image"]').attr('content'),
summary=summary)
except Exception as e:
raise CheeseComError(str(e))