【发布时间】:2021-07-11 18:31:30
【问题描述】:
我正在尝试解析当我从 zillow 中选择两个下拉列表时填充的不同属性链接。选择完选项后,我可以在开发工具中看到 json 格式的结果。但是,当我使用下面的脚本执行相同操作时,会得到一些奇怪的文本。
手动操作:
- 导航到that site
- 从first dropdown 中选择选项
- 从second dropdown 中选择选项
这就是我尝试自动化的方式:
import json
import requests
from pprint import pprint
link = 'https://www.zillow.com/search/GetSearchPageState.htm?'
params = {
'searchQueryState': {"pagination":{},"usersSearchTerm":"Vista, CA","mapBounds":{"west":-117.44051346728516,"east":-116.99488053271484,"south":33.126944633035116,"north":33.27919773006566},"regionSelection":[{"regionId":41517,"regionType":6}],"isMapVisible":True,"filterState":{"doz":{"value":"6m"},"isForSaleByAgent":{"value":False},"isForSaleByOwner":{"value":False},"isNewConstruction":{"value":False},"isForSaleForeclosure":{"value":False},"isComingSoon":{"value":False},"isAuction":{"value":False},"isPreMarketForeclosure":{"value":False},"isPreMarketPreForeclosure":{"value":False},"isRecentlySold":{"value":True},"isAllHomes":{"value":True},"hasPool":{"value":True},"hasAirConditioning":{"value":True},"isApartmentOrCondo":{"value":False}},"isListVisible":True,"mapZoom":11},
'wants': {"cat1":["listResults","mapResults"]},
'requestId': 2
}
with requests.Session() as s:
s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36'
res = s.get(link,params=json.dumps(params))
pprint(res.content)
这是它产生的输出:
b'<!-- This page outputs JSON instead of anything written here. -->'
如何使用请求解析来自 zillow 的自定义属性链接?
【问题讨论】:
标签: python json python-3.x web-scraping python-requests