문제

방법은 없을 읽고 확장자의 컬렉션 요소와 함께 범용 파서 공급?

이것은 단지 짧은 조각에서 Kuler RSS 피드:

<channel>
  <item>
    <!-- snip: regular RSS elements -->
    <kuler:themeItem>
      <kuler:themeID>123456</kuler:themeID>
      <!-- snip -->
      <kuler:themeSwatches>
        <kuler:swatch>
          <kuler:swatchHexColor>FFFFFF</kuler:swatchHexColor>
          <!-- snip -->
        </kuler:swatch>
        <kuler:swatch>
          <kuler:swatchHexColor>000000</kuler:swatchHexColor>
          <!-- snip -->
        </kuler:swatch>
      </kuler:themeSwatches>
    </kuler:themeItem>
  </item>
</channel>

나는 다음과 같다:

>>> feed = feedparser.parse(url)
>>> feed.channel.title
u'kuler highest rated themes'
>>> feed.entries[0].title
u'Foobar'
>>> feed.entries[0].kuler_themeid
u'123456'
>>> feed.entries[0].kuler_swatch
u''

feed.entries[0].kuler_swatchhexcolor 만 반환합니다 마지막 kuler:swatchHexColor.어떤 방법이 모든 요소를 검색 feedparser?

저는 이미 주위에 일제에 의해 사용 minidom 지만,사용하고 싶 보편적인 피드 파서 가능한 경우(인하여 매우 간단하 API).할 수 있 확장할 수 있습니까?나는 아무것도 발견하지 않았는 문서,그래서 누군가가 있다면 더 많은 경험과 라이브러리십시오,조언한다.

도움이 되었습니까?

해결책

보편적인 피드 파서 정말 좋은 대부분의 피드지만,확장 피드거 하려고 무언가가 불 BeautifulSoup.XML/HTML/XHTML 분석 라이브러리는 원래 설계를 위한 screenscraping;밝혀 그것은 또한 화려한 이런 종류의 것입니다.이 문서는 매우 좋은,그리고 이것은 자명한 API,그래서 당신이 생각하는 경우 사용하는 다른 것을 내가 무슨 권하고 싶습니다.

나는 아마 이를 다음과 같이 사용:

>>> import BeautifulSoup
>>> import urllib2

# Fetch HTML data from url
>>> connection = urllib2.urlopen('http://kuler.adobe.com/path/to/rss.xml')
>>> html_data = connection.read()
>>> connection.close()

# Create and search the soup
>>> soup = BeautifulSoup.BeautifulSoup(html_data)
>>> themes = soup.findAll('kuler:themeitem') # Note: all lower-case element names

# Get the ID of the first theme
>>> themes[0].find('kuler:themeid').contents[0]
u'123456'

# Get an ordered list of the hex colors for the first theme
>>> themeswatches = themes[0].find('kuler:themeswatches')
>>> colors = [color.contents[0] for color in
... themeswatches.findAll('kuler:swatchhexcolor')]
>>> colors
[u'FFFFFF', u'000000']

그래서 당신은 아마 수 있는 아이디어를 얻는 이것은 아주 멋진 라이브러리입니다.지 않는 것이 너무 좋다면 당신이 어떤 구문 분석 old RSS 피드지만,때문에 데이터가에서 Adobe Kuler,당신이 될 수 있는지 확인하지 않을 따라 충분한 휴식의 응용 프로그램(즉그것은 신뢰할 수 있는 충분한 소스).

더 악화하고 분석하는 Adobe 의 빌어먹.ASE 형식입니다.나는 시도 쓰고서 그것을 얻은 정말 끔찍한,습니다.Ug.그래,RSS 피드는 가장 쉬운 방식의 인터페이스 Kuler.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top