I apologise if this has been asked before. I am very new to everything.
I am trying to parse the page from the following website. However, the resultant script scraped is not the same script as the one I observe by inspecting the page source on Chrome.
import pandas as pd
from bs4 import BeautifulSoup as bsoup
import requests as rq
url_estates = "https://www.propertyguru.com.sg/singapore-property-listing/hdb"
headers = {"user-agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"}
client = rq.get(url_estates, headers = headers)
client
<Response [200]>
soup = bsoup(client.content, features = "html.parser")
print(soup.prettify())
The resultant script is also much shorter, half of which consists only of meta tags.
Do you know why I am unable to scrape the full script as per the page source? I read certain posts that mentioned that because the page consists of dynamic listings with javascript, it is recommended to use selenium instead. If so, I would also like to understand why BeautifulSoup is unable to perform the same function as selenium. Is there any way to scrape what I want without resorting to another library?
Many thanks in advance.