【问题标题】:XML data extraction from an API link Python从 API 链接 Python 提取 XML 数据
【发布时间】:2020-08-03 14:54:10
【问题描述】:

我试图抓取API URL。我收到了XML 格式的回复。我对JSON's 的回复很熟悉,但对我来说还是很陌生。我想知道我们如何继续使用ScrapyRequestXML 响应中提取数据。使用什么类型的表达式来定位某些值,例如 <FirmName><FirmId>(请到以下链接查看数据)

链接:https://www.ricsfirms.com/umbraco/api/surveyorSearchApi/results?location=United%20Kingdom&firmName=&lon=-5.2235136&lat=50.2307777&boxId=14821&country=GB&page=1

【问题讨论】:

  • 到底是什么问题?你试过什么?
  • 你应该查看 XML 解析和 BeautifulSoup。
  • 我对BS不熟悉,但对Request有所了解。我想知道如何定位 XML 响应中的值?就像我们可以使用 XPATH 或 CSS 选择器一样。 XML的方法是什么?

标签: python xml scrapy python-requests xml-parsing


【解决方案1】:

当它返回 JSON 时,请尝试以下操作:

import requests

r = requests.get('https://www.ricsfirms.com/umbraco/api/surveyorSearchApi/results?location=United%20Kingdom&firmName=&lon=-5.2235136&lat=50.2307777&boxId=14821&country=GB&page=1')

data = r.json()

for office in data['resultOffices']:
    print(office['firmId'])
    print(office['firmName'])
    print('---')

【讨论】:

  • 成功了,谢谢,丹尼斯。您能否告诉我如何定位 等值
  • 我已经扩展了我的答案。你可以像在一个简单的数组中一样使用方括号来获取你想要的数据。
  • 请注意,键是区分大小写的,并且搜索到的键确实存在。在您的情况下,没有Email1
猜你喜欢
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
  • 2012-03-22
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多