2010-03-17 2 views
3

rss 파일은 아래와 같이 표시됩니다. 미디어의 내용을 얻으려고합니다 : group. 내가 feedparser의 문서를 확인하지만, 언급하지 않는 것 같습니다. 그것을하는 방법? 어떤 도움을 주셔서 감사합니다.피드 파서를 사용하여 "<media:group>"을 구문 분석하는 방법은 무엇입니까?

<?xml version="1.0" encoding="UTF-8"?> 
<rss xmlns:ymusic="http://music.yahoo.com/rss/1.0/ymusic/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel> 
     <title>XYZ InfoX: Special hello </title> 
     <link>http://www1.XYZInfoX.com/learninghello/home</link> 
     <description>hello</description> 
     <language>en</language>   <copyright /> 
     <pubDate>Wed, 17 Mar 2010 08:50:06 GMT</pubDate> 
     <dc:creator /> 
     <dc:date>2010-03-17T08:50:06Z</dc:date> 
     <dc:language>en</dc:language> <dc:rights /> 
     <image> 
      <title>Voice of America</title> 
      <link>http://www1.XYZInfoX.com/learninghello</link> 
      <url>http://media.XYZInfoX.com/designimages/XYZRSSIcon.gif</url> 
     </image> 

     <item> 
       <title>Who Were the Deadliest Gunmen of the Wild West?</title> 
       <link>http://www1.XYZInfoX.com/learninghello/home/Deadliest-Gunmen-of-the-Wild-West-87826807.html</link> 
       <description> The story of two of them: "Killin'" Jim Miller was an outlaw, "Texas" John Slaughter was a lawman | EXPLORATIONS </description> 
       <pubDate>Wed, 17 Mar 2010 00:38:48 GMT</pubDate> 
       <guid isPermaLink="false">87826807</guid> 
       <dc:creator></dc:creator> 
       <dc:date>2010-03-17T00:38:48Z</dc:date>                                  
       <media:group> 
        <media:content url="http://media.XYZInfoX.com/images/archives_peace_comm_480_16mar_se.jpg" medium="image" isDefault="true" height="300" width="480" /> 
        <media:content url="http://media.XYZInfoX.com/images/archives_peace_comm_230_16mar_se_edited-1.jpg" medium="image" isDefault="false" height="230" width="230" /> 
        <media:content url="http://media.XYZInfoX.com/images/tex_trans_lawmans_230_16mar10_se.jpg" medium="image" isDefault="false" height="230" width="230" /> 
        <media:content url="http://www.XYZInfoX.com/MediaAssets2/learninghello/dalet/se-exp-outlaws-part2-17mar2010.Mp3" type="audio/mpeg" medium="audio" isDefault="false" /> 
       </media:group> 
    </item> 
+0

나는 어떻게 XML 문서에서 데이터를 추출하는 방법을 알 수 있습니다,하지만 난에 익숙하지 않은 해요 'feedparser' 또는 피드를 제공하는 방식. '이 입력 데이터가 있습니다.', '이 출력 데이터가 필요합니다'라는 질문에 다시 문구를 넣으면 쉽게 도움이 될 것입니다. – MattH

+0

고마워,하지만 난 단지 코드 샘플을 만들고 싶다. 나는 그것이 XML이나 정규 표현식으로 파싱 될 수 있다는 것을 이해했다. – Mingo

+0

C : '고마워,하지만 코드 샘플을 만들고 싶다'라는 말을 이해하지 못한다. "귀하의 입력 및 원하는 출력 데이터의 예를 지정하십시오."라는 회신의 맥락에서 볼 때 더욱 의미가 없습니다. – MattH

답변

3

에서 예제를 공부 한 후 명확하게해야한다.

나를위한 해결책은 저장소에서 최신 feedparser.py (4.2 프리)를 얻는 것이 었습니다.

svn checkout http://feedparser.googlecode.com/svn/trunk/ feedparser-readonly 
cd feedparser-readonly 
python setup.py install 

지금 당신을 위해 일을해야 모든 MRSS 항목

>>> import feedparser # the new version! 
>>> d = feedparser.parse(MY_XML_URL) 
>>> for content in d.entries[0].media_content: print content['url'] 

에 액세스 할 수 있습니다

0

당신은 다음

feed = feedparser.parse(your_feeds_url) 

하고 feed과 그 하위 요소에 파이썬의 속성 액세스 또는 사전과 같은 액세스를 사용하여 XML 요소에 액세스하여 피드를 구문 분석 할 수 있습니다. 이전 방법은 media:content과 같은 요소 이름에는 적용되지 않으므로 후자의 방법을 사용하십시오.

나머지는 PyPi에서로 사용할 수 4.1이이 버그가 feedparser http://www.feedparser.org

+0

피드의 내용을 인쇄하지만 media : content의 정보는 포함하지 않습니다. 피드 파서가 구문 분석을 건너 뛰는 것 같아요. 다음은 RSS URL입니다. http://www1.voanews.com/templates/Articles.rss?sectionPath=/learningenglish/home – Mingo