python - 如何使用请求从该页面获取数据?

标签 python html http web-scraping python-requests

我正在尝试使用请求方法从 this page 获取房地产信息.

我所做的是尝试找到在页面加载期间发送的正确 HTTP 请求。

首先,我使用第一个属性的街道地址作为关键字在 Chrome 调试工具中进行搜索。但是,没有找到任何包含关键字的内容。

然后,我手动查看加载过程中发生的 HTTP 请求,发现 this .

其响应中有位置信息:

"destination_addresses" : [
  "St George's Circus (Stop Y), London SE1 8EH英国",
  "62 Wandsworth Rd, Nine Elms, London SW8 2LF英国",
  "1 Water Ln, London EC3R 6EA英国",
  "Leman Street (Stop OH), Whitechapel, London E1 8ER英国",
  "17 Kidderpore Ave, London NW3 7SF英国",
  "12 Western Ave, East Acton, London W3 7UD英国",
  "47 Franklin House, Tyrrel Way, London NW9 7QA英国",
  "The Presbytery, Green St, Upton Park, London E13 9AX英国",
  "1 Bittacy Rd, London NW7 1BP英国",
  "7 Coxwell Boulevard, London NW9 4AB英国",
  "National Institute for Medical Research, London NW7 1AA英国",
  "45 Hackbridge Rd, Wallington SM6 7AY英国",
  "28A College Rd, Harrow HA1 1BE英国",
  "4 Balfour Rd, Hounslow TW3 1JX英国",
  "3312 Headstone Dr, Harrow HA1 4UP英国",
  "6 Nestles Ave, Hayes UB3 4QA英国",
  "6 Nestles Ave, Hayes UB3 4QA英国",
  "Keats Way, Coulsdon CR5 3FL英国",
  "Marsh Ln, Harlow CM17英国",
  "23 Cricket Field Grove, Crowthorne RG45 7ES英国"

但是,这里的地址和页面上显示的不一样。

比如响应中的第一个地址

"St George's Circus (Stop Y), London SE1 8EH" 

显示/转换为

"Blackfriars Road, Southwark, LONDON, GREATER LONDON, SE1 8EQ" 

在页面上。

谁能告诉我如何使用请求来获取页面上显示的数据?

最佳答案

使用 html 中列出的相同 API。

enter image description here

这个 API 看起来像是用来在您通过搜索栏提交时检索信息。

尽管我只是按要求打印地址,但您可以获得所有房源信息。优势 - 您可以获得所有搜索结果。

import requests

r = requests.get('https://www.barratthomes.co.uk/api/search/developments/bar/?additionalBrands=bar,bln').json()

for listing in r['results']:
    print(listing['adr'])

关于python - 如何使用请求从该页面获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56307617/

相关文章:

python - Pyramid 和变色龙 ZPT

html - IDE插入空格并且浏览器将它们读取为字符如何摆脱它?我正在使用 VSCode

PHP:如何动态添加到http_build_query?

python - 是否可以在 Pandas 的 loc 中使用 loc 来替换值?

python - 如果字典中的键重复,如何引发错误

html - 如何在水平和垂直侧边栏之间放置间距

javascript - 搜索 JSON 数组中的项目

java - Android:字符串无法转换为 JSONArray?

javascript - Python - 读取 HTTP 请求正文

python - 如何在 python 中将打印作业发送到打印机