Причина, по которой вы не можете получить пустой результат, заключается в том, что страница использует AJAX для загрузки содержимого таблицы (используется https://datatables.net). Если вы хотите очистить результат, сгенерированный javascript, requests
недостаточно, поскольку он невыполнить javascript. Вам нужно запустить браузер или безголовый браузер, такой как Chromedriver , используя библиотеку, подобную selenium-python . Если вы хотите пройти по этому пути, есть много доступных руководствв интернете .
Однако есть лучший способ. Если вы понимаете , как работает AJAX , странице, очевидно, необходимо вызвать API для получения данных.Как только вы найдете его, вы можете легко получить данные, используя этот API-интерфейс, используя всего несколько строк кода:
import requests
import pandas as pd
res = requests.get('https://www.idx.co.id/umbraco/Surface/ListedCompany/GetCompanyProfiles?draw=1&columns%5B0%5D%5Bdata%5D=KodeEmiten&columns%5B0%5D%5Bname%5D&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=false&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=KodeEmiten&columns%5B1%5D%5Bname%5D&columns%5B1%5D%5Bsearchable%5D=true&columns%5B1%5D%5Borderable%5D=false&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=NamaEmiten&columns%5B2%5D%5Bname%5D&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=false&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=TanggalPencatatan&columns%5B3%5D%5Bname%5D&columns%5B3%5D%5Bsearchable%5D=true&columns%5B3%5D%5Borderable%5D=false&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&start=0&length=700&search%5Bvalue%5D&search%5Bregex%5D=false&_=155082600847')
data = res.json()
df = pd.DataFrame.from_dict(data['data'])
print(df.columns)
print(df)
Результат:
Index(['Alamat', 'BAE', 'DataID', 'Divisi', 'EfekEmiten_EBA', 'EfekEmiten_ETF',
'EfekEmiten_Obligasi', 'EfekEmiten_SPEI', 'EfekEmiten_Saham', 'Email',
'Fax', 'JenisEmiten', 'KegiatanUsahaUtama', 'KodeDivisi', 'KodeEmiten',
'Logo', 'NPKP', 'NPWP', 'NamaEmiten', 'PapanPencatatan', 'Sektor',
'Status', 'SubSektor', 'TanggalPencatatan', 'Telepon', 'Website', 'id'],
dtype='object')
Alamat ... id
0 Jl Pulo Ayang Raya Blok OR No. 1 Kawasan Indu... ... 0
1 Sahid Office Boutique, Blok G Jl Jend Sudirman... ... 0
2 Plaza ABDA Lt. 27 Jl. Jend. Sudirman Kav. 59 ... ... 0
3 Gedung TMT 1 Lantai 18 Jl. Cilandak KKO No. 1... ... 0
4 Gedung Kawan Lama Lantai 5 Jl. Puri Kencana N... ... 0
5 ACSET Building, Jalan Majapahit No.26, Kelurah... ... 0
6 Perkantoran Hijau Arkadia Tower C Lantai 15\rJ... ... 0
7 Jalan Raya Pasar Minggu Km. 18 Jakarta 12510 ... 0
8 Gedung The Landmark I Lantai 26-31\r\nJl. Jend... ... 0
9 Gedung Wisma 46 Kota BNI Kav 1 LT. 20 JL Jend.... ... 0
.. ... ... ..
620 Gedung Graha Irama lt. 2-E\rJl. H.R. Rasuna Sa... ... 0
621 Plaza Mutiara Lt. 5,\rJl. Dr. Ide Anak Agung G... ... 0
622 Jl. Jemur Sari Selatan IV/3, \r\nSurabaya 6023... ... 0
623 Jl. Pantai Indah Selatan I, Elang Laut Blok A ... ... 0
624 Jalan Karet Pedurenan No. 240, Karet Kuningan,... ... 0
[625 rows x 27 columns]