处理来自python请求的XML数据

2024-10-02 12:35:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个简单的网页刮板。然而,我在正确处理XML数据时遇到了一个问题,特别是在创建了一个XML元素之后,我发现我的元素不包含任何子节点(我希望有子节点)。我是不是遗漏了一些明显的东西?在

我的代码:

import xml.etree.ElementTree as ET
import requests

with requests.session() as s:
    s.post(Urllog, data=payload)
    x = s.post(Urlcourses, data= formdata)
    root = ET.fromstring(x.content)
    print(x.content)

元素没有子元素的几个示例:

^{pr2}$

x.content如预期,如下所示:

    <?xml version="1.0"?>
<contents><![CDATA[ 
<!-- Display system announcements -->
  <div class="noItems divider">No Institution Announcements have been posted in the last 7 days.</div>
      <!-- Display course/org announcements -->
  <h3>xxx (S2 2015)</h3>
          <div class="courseDataBlock">
        <ul>
          <li><a
              href=xxx
            > Lecture Recordings + Tutorial Sheet</a></li>
          </ul>
        </div>
        <h3>xxx (S2 2015)</h3>
          <div class="courseDataBlock">
        <ul>
          <li><a
              href=xxx
            > Tutorials / consultation hours</a></li>
          <li><a
              href=xxx
            > 2014 lectures uploaded</a></li>
          </ul>
        </div>
        <h3>xxx(S2 2015)</h3>
          <div class="courseDataBlock">
        <ul>
          <li><a
              href=xxx
            > PASS - Peer Assisted Study Sessions</a></li>
          </ul>
        </div>
        <h3>xxxx</h3>
          <div class="courseDataBlock">
        <ul>
          <li><a
              href=xxxx2_1"
            > xxx!</a></li>
          <li><a
              href=xxx
            > Careers for Engineers: A session from Engineers Australia</a></li>
          </ul>
        </div>
        <div class="moduleControlWrapper u_reverseAlign">
    <a class="button-6"
        href=xxxx
      >more announcements...</a>
    </div>



                 ]]></contents>

Tags: importdiv元素节点lixmlcontentul
1条回答
网友
1楼 · 发布于 2024-10-02 12:35:42

您在root中得到的xml实际上是正确的,因为如果您检查您的xml,它会-

<contents><![CDATA[ 

它只有一个节点,contents,其余的实际上是CDATA文本。在

您可以使用root.text访问它们。另外,它们似乎不是实际的xml,因为它有一个未关闭的<div>标记,您可能需要考虑使用一些html解析库来解析文本,而不是xml.etree.ElementTree,可能是BeautifulSoup。在

相关问题 更多 >

    热门问题