from bs4 import BeautifulSoup
import fake_useragent
import requests
ua = fake_useragent.UserAgent()
import soupsieve as sv
url = "https://search-maps.yandex.ru/v1/?text=%D0%9F%D0%BE%D1%87%D1%82%D0%B0%20%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8,%20%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B4%D0%B0%D1%80&results=500&type=biz&lang=ru_RU&apikey=d9168899-cf24-452a-95cf-06d7ac5a982b"
r = requests.get(url, headers={"User-Agent": ua.random})
soup = BeautifulSoup(r.text, 'lxml')
print(soup.find("p"))
我想从这个列表中只选择两个属性,如“boundedBy”和“coordinates”我该怎么做呢?我已经检查了整个bs文档,但没有找到解决方案
2条答案
按热度按时间j8yoct9x1#
来自服务器的结果是Json格式的,所以使用json解析器或
.json()
方法对其进行解码:印刷品:
ufj5ltwl2#
使用响应的
.json()
方法,因为数据是JSON。然后,您可以迭代响应中的要素。注意,您可以将参数与URL分开设置,以便它们可读且更易于更改:输出量: