2011-02-05 6 views
2

제 개인적인 목적을 위해 저는 약 300 명의 저자 (전체 이름)의 다양한 책을 가지고 있습니다. 이 목록을 "소설 작가"및 "논픽션 작가"로 나누고 싶습니다. 저자가 둘 다 쓴다면 대다수가 표를 얻습니다. 내가 저자 (in Python)로 검색 할 수 있지만, 책 카테고리 (나머지 대 허구를) 찾을 수있는 방법은 없습니다 : 도서 저자를 소설과 논픽션으로 구분하십시오.

나는 아마존 제품 검색 API 보았다

>>> node = api.item_search('Books', Author='Richard Dawkins') 
>>> for book in node.Items.Item: 
...  print book.ItemAttributes.Title 

내 옵션은 무엇입니까? 나는 이것을 파이썬에서하는 것을 선호한다.

+1

"author name fiction"과 "author name nonfiction"을 검색 할 수 있습니까? – btilly

+0

@btilly - 흥미 롭지 만 'Richard Dawkins fiction'은 'Richard Dawkins nonfiction'보다 * 더 많은 * 결과를 반환합니다. –

+0

귀하의 기준에 따라 그는 허구로 분류되어야합니다. 나는이 결론에 동의하지 않는다; 당신의 의견으로 판단하면, 당신도 마찬가지입니다. 따라서 기준을 조정해야합니다. –

답변

4

글쎄, 다른 서비스를 시도해 볼 수 있습니다 - Google Book Search API. 파이썬을 사용 하시려면 gdata-python-api을 살펴보십시오.

물론
<?xml version="1.0" encoding="UTF-8"?> 
<feed xmlns="http://www.w3.org/2005/Atom" 
     xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" 
     xmlns:gbs="http://schemas.google.com/books/2008" 
     xmlns:dc="http://purl.org/dc/terms" 
     xmlns:gd="http://schemas.google.com/g/2005"> 
    <id>http://www.google.com/books/feeds/volumes</id> 
    <updated>2008-08-12T23:25:35.000</updated> 

<!-- a loot of information here, just removed those nodes to save space.. --> 

    <dc:creator>Jane Austen</dc:creator> 
    <dc:creator>James Kinsley</dc:creator> 
    <dc:creator>Fiona Stafford</dc:creator> 
    <dc:date>2004</dc:date> 
    <dc:description> 
     If a truth universally acknowledged can shrink quite so rapidly into 
     the opinion of a somewhat obsessive comic character, the reader may reasonably feel ... 
    </dc:description> 
    <dc:format>382</dc:format> 
    <dc:identifier>8cp-Z_G42g4C</dc:identifier> 
    <dc:identifier>ISBN:0192802380</dc:identifier> 
    <dc:publisher>Oxford University Press, USA</dc:publisher> 
    <dc:subject>Fiction</dc:subject> 
    <dc:title>Pride and Prejudice</dc:title> 
    <dc:title>A Novel</dc:title> 
    </entry> 
</feed> 

,이 프로토콜은 당신에게 Google 도서 등에 표시 여부 등이 책에 관한 약간의 오버 헤드 정보를 (제공 : 아마 that's는 당신이 필요 - 자사의 프로토콜에서, 결과 피드에 노드 <dc:subject>이있다 .)

+0

API 기반 검색은 웹 기반 검색만큼 신뢰할 수는 없지만 ("title : .. and author : .."API 쿼리는 아무 것도 반환하지 않지만 웹에서는 그렇지 않습니다) 많은 책에 제목이 할당되지 않습니다 ,이 솔루션은 '픽션 (Fiction)'주제 아래 대부분의 ficiton 도서 카테고리로서 내 필요에 충분히 적합합니다. –

2

BrowseNodes을 보았습니까? 나에게 (이전에이 API를 사용하지 않은) 사람에게는 BrowseNodes이 Amazon의 제품 카테고리에 해당합니다. 어쩌면 그곳에서 더 많은 정보를 찾을 수 있습니다.

+0

'BrowseNodes'를 보았습니다. 그것은 일부 카테고리를 나열하지만 "논픽션"카테고리는 볼 수 없습니다 (이 카테고리는 amazon.com에서 볼 수 있습니다). 이제 Google 도서 API를 살펴 보겠습니다 ... –

0

아마존 API를 어지럽히는 데 소비 한 후 원하는 정보를 제공하지 않는 것처럼 보입니다.

그들은 설명서에 해당 유형의 범주를 언급하지 않았으며 API를 사용하면 소설이나 논픽션 카타고리에 대한 언급이 하나도 없습니다.

이 코드를 사용하면 API가 전송하는 모든 내용으로 멋진 XML 문자열을 인쇄 할 수 있습니다 (읽기 쉽도록 파일로 보낼 수 있습니다).

from lxml import etree 

node = api.item_search('Books', Author='Richard Dawkins') 

print etree.tostring(node, pretty_print=True) 
관련 문제