Python从一个url下载大型xml文件以获取前10个条目

2024-09-29 03:35:25 发布

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

我有一个通过url共享的客户机xml文件,我只想从文件中下载前10个条目,而不是下载整个文件。在

我知道如何用python下载xml文件,但我不想下载整个文件,而是只想下载xml的前10个条目。在

import requests
URL = "http://clientfeed.com/feed/feed.xml"
response = requests.get(URL,stream=True) 

但在这里我不知道如何继续从文件中下载10个条目

xml的示例树节点

^{pr2}$

这里需要下载/products/product的前10个条目,而不是整个文件。在

具有前四个条目的示例xml文件

<?xml version="1.0"?>
<products>
<product>
<id>1212</id>
<name>product name</name>
<producturl>product url</producturl>
<bigimage>image url</bigimage>
<price>11323</price>
<instock>yes</instock>
<category>cate</category>
</product>
<product>
<id>35345</id>
<name>product name</name>
<producturl>product url</producturl>
<bigimage>image url</bigimage>
<price>11323</price>
<instock>yes</instock>
<category>cate</category>
</product>
<product>
<id>7656756</id>
<name>product name</name>
<producturl>product url</producturl>
<bigimage>image url</bigimage>
<price>11323</price>
<instock>yes</instock>
<category>cate</category>
</product>
<product>
<id>575686786</id>
<name>product name</name>
<producturl>product url</producturl>
<bigimage>image url</bigimage>
<price>11323</price>
<instock>yes</instock>
<category>cate</category>
</product>
</products>

有人能告诉我怎么做到这一点吗?在

提前谢谢


Tags: 文件nameimageidurl条目xmlproduct
1条回答
网友
1楼 · 发布于 2024-09-29 03:35:25

下面是一个代码片段,它可以满足您所要查找的功能。
注意,要下载的数据不同,要查找的单词是“name”。
在你的例子中,你应该计算“产品”

import requests

URL = "http://ftp.acc.umu.se/mirror/wikimedia.org/dumps/aawiki/20190101/dumpruninfo.txt"


MAX_COUNT = 5
file_data = ''
with requests.get(URL, stream=True) as r:
    for chunk in r.iter_content(chunk_size=50):
        file_data += chunk.decode('utf-8')
        count = file_data.count('name')
        if count >= MAX_COUNT:
            print(file_data)
            break

相关问题 更多 >