【发布时间】:2019-06-05 08:09:54
【问题描述】:
我正在使用 ebay API 来检索有关当前价格的一些数据,使用 R 和 GET 函数调用 API。
res <- GET(paste0("http://svcs.ebay.com/services/search/FindingService/v1?",
"SECURITY-APPNAME=XXXXXXXXXXXXXXXX&",
...
"OPERATION-NAME=findItemsByProduct&",
"paginationInput.entriesPerPage=100"))
EbayResult <- content(res, "parsed")
我得到的回复如下:
> EbayResult
{xml_document}
<findItemsByProductResponse xmlns="http://www.ebay.com/marketplace/search/v1/services">
[1] <ack>Success</ack>
[2] <version>1.13.0</version>
[3] <timestamp>2019-06-05T07:59:38.940Z</timestamp>
[4] <searchResult count="3">\n <item>\n <itemId>264249591631</itemId>\n <title>ER2315539 Refrigerator Evaporator Motor ...
[5] <paginationOutput>\n <pageNumber>1</pageNumber>\n <entriesPerPage>100</entriesPerPage>\n <totalPages>1</totalPages>\n ...
[6] <itemSearchURL>http://www.ebay.com/sch/?LH_ItemCondition=1&_ddo=1&_ipg=100&_pgn=1&_productid=1242038032</ ...
我想提取[4]行中的所有“itemId”,在这个例子中,有3个不同的itemId。 我想使用列表或其他有效方法来做到这一点。 谢谢!
【问题讨论】:
-
试试这样的:
EbayResult %>% XML::xmlParse() %>% XML::xmlToList(),或者XML::xmlToDataFrame