import/lists/autocompleteFolder

This commit is contained in:
j 2014-05-19 01:24:04 +02:00
commit d6f350e5a1
42 changed files with 955 additions and 436 deletions

View file

@ -9,10 +9,11 @@ import lxml.html
import logging
logger = logging.getLogger('meta.abebooks')
base = 'http://www.abebooks.com'
def get_ids(key, value):
ids = []
if key in ('isbn10', 'isbn13'):
base = 'http://www.abebooks.com'
url = '%s/servlet/SearchResults?isbn=%s&sts=t' % (base, id)
data = read_url(url)
urls = re.compile('href="(/servlet/BookDetailsPL[^"]+)"').findall(data)
@ -24,21 +25,20 @@ def get_ids(key, value):
def lookup(id):
logger.debug('lookup %s', id)
return {}
def get_data(id):
info = {}
base = 'http://www.abebooks.com'
data = {}
url = '%s/servlet/SearchResults?isbn=%s&sts=t' % (base, id)
data = read_url(url)
urls = re.compile('href="(/servlet/BookDetailsPL[^"]+)"').findall(data)
html = read_url(url)
urls = re.compile('href="(/servlet/BookDetailsPL[^"]+)"').findall(html)
keys = {
'pubdate': 'date'
}
if urls:
details = '%s%s' % (base, urls[0])
data = read_url(details)
doc = lxml.html.document_fromstring(data)
html = read_url(details)
doc = lxml.html.document_fromstring(html)
for e in doc.xpath("//*[contains(@id, 'biblio')]"):
key = e.attrib['id'].replace('biblio-', '')
value = e.text_content()
if value and key not in ('bookcondition', 'binding'):
info[key] = value
return info
if value and key not in ('bookcondition', 'binding', 'edition-amz'):
data[keys.get(key, key)] = value
return data