Мне нужно провести некоторое исследование рынка недвижимости, и для этого нужны цены и другие ценности от новых домов.
Так что моя идея заключалась в том, чтобы зайти на сайт, где я получаю информацию.Перейдите на сайт Main-Search-Site и очистите все RealEstateID, которые позволили бы перейти непосредственно на отдельные страницы для каждого дома, где я могу, чем извлечь нужную мне информацию.
Моя проблема в том, как мне получить все идентификаторы недвижимости с главной страницы и сохранить их в списке, чтобы я мог использовать их на следующем шаге, чтобы создать URL-адреса с ними для перехода на актуальные сайты,
Я попробовал его с Beautifulsoup, но не смог, потому что я не понимаю, как найти конкретное слово и извлечь то, что после него.
HTML-код выглядит следующим образом:
""realEstateId":110356727,"newHomeBuilder":"false","disabledGrouping":"false","resultlist.realEstate":{"@xsi.type":"search:ApartmentBuy","@id":"110356727","title":"
Поскольку значение "realEstateId" появляется около 60 раз, я хочу в любое время очистить число (здесь: 110356727), которое следует за ним, и сохранить его в списке, чтобы я мог использовать их позже.
Редактировать:
import time
import urllib.request
from urllib.request import urlopen
import bs4 as bs
import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import numpy as np
import os
import pandas as pd
import pandas_datareader.data as web
import pickle
import requests
from requests import get
url = 'https://www.immobilienscout24.de/Suche/S-T/Wohnung-Kauf/Nordrhein-Westfalen/Duesseldorf/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/true?enteredFrom=result_list'
response = get(url)
from bs4 import BeautifulSoup
html_soup = BeautifulSoup(response.text, 'html.parser')
type(html_soup)
def expose_IDs():
resp = requests.get('https://www.immobilienscout24.de/Suche/S-T/Wohnung-Kauf/Nordrhein-Westfalen/Duesseldorf/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/true?enteredFrom=result_list')
soup = bs.BeautifulSoup(resp.text, 'lxml')
table = soup.find('resultListModel')
tickers = []
for row in table.findAll('realestateID')[1:]:
ticker = row.findAll(',')[0].text
tickers.append(ticker)
with open("exposeID.pickle", "wb") as f:
pickle.dump(tickers, f)
return tickers
expose_IDs()