Вам, вероятно, лучше просто поговорить с тем же API, который в первую очередь заполняет таблицу bootstrap. Я использовал сетевой регистратор Google Chrome для просмотра только тех ресурсов XHR (XmlHttpRequest
), к которым мой браузер отправлял запросы. Изучив содержимое отфильтрованных ресурсов, я определил, что браузер отправляет запрос к их API, используя этот URL: https://www.pepperscale.com/wp-admin/admin-ajax.php?action=get_wdtable&table_id=5
. По какой-либо причине вам нужно сделать POST-скорее чем GET-запрос - каждый API отличается от других. На вкладке «Заголовок и тело запроса» вы можете увидеть параметры формы, которые ожидает API - они кажутся важными. Я не пытался выяснить, какие из них являются критическими, а какие нет, поэтому я просто сконструировал свой POST-запрос с теми же параметрами формы, которые отправил мой браузер.
Это дает хороший JSON ответ, который тривиален для анализа:
import requests
url = "https://www.pepperscale.com/wp-admin/admin-ajax.php?action=get_wdtable&table_id=5"
data = {
"draw": "1",
"columns[0][data]": "0",
"columns[0][name]": "wdt_ID",
"columns[0][searchable]": "true",
"columns[0][orderable]": "true",
"columns[0][search][value]": "",
"columns[0][search][regex]": "false",
"columns[1][data]": "1",
"columns[1][name]": "heat",
"columns[1][searchable]": "true",
"columns[1][orderable]": "true",
"columns[1][search][value]": "",
"columns[1][search][regex]": "false",
"columns[2][data]": "2",
"columns[2][name]": "image",
"columns[2][searchable]": "true",
"columns[2][orderable]": "false",
"columns[2][search][value]": "",
"columns[2][search][regex]": "false",
"columns[3][data]": "3",
"columns[3][name]": "hotpepper",
"columns[3][searchable]": "true",
"columns[3][orderable]": "true",
"columns[3][search][value]": "",
"columns[3][search][regex]": "false",
"columns[4][data]": "4",
"columns[4][name]": "minshu",
"columns[4][searchable]": "true",
"columns[4][orderable]": "true",
"columns[4][search][value]": "",
"columns[4][search][regex]": "false",
"columns[5][data]": "5",
"columns[5][name]": "maxshu",
"columns[5][searchable]": "true",
"columns[5][orderable]": "false",
"columns[5][search][value]": "",
"columns[5][search][regex]": "false",
"columns[6][data]": "6",
"columns[6][name]": "formula_1",
"columns[6][searchable]": "false",
"columns[6][orderable]": "false",
"columns[6][search][value]": "",
"columns[6][search][regex]": "false",
"columns[7][data]": "7",
"columns[7][name]": "formula_2",
"columns[7][searchable]": "false",
"columns[7][orderable]": "false",
"columns[7][search][value]": "",
"columns[7][search][regex]": "false",
"columns[8][data]": "8",
"columns[8][name]": "jalrp",
"columns[8][searchable]": "true",
"columns[8][orderable]": "false",
"columns[8][search][value]": "",
"columns[8][search][regex]": "false",
"columns[9][data]": "9",
"columns[9][name]": "type",
"columns[9][searchable]": "true",
"columns[9][orderable]": "true",
"columns[9][search][value]": "",
"columns[9][search][regex]": "false",
"columns[10][data]": "10",
"columns[10][name]": "origin",
"columns[10][searchable]": "true",
"columns[10][orderable]": "false",
"columns[10][search][value]": "",
"columns[10][search][regex]": "false",
"columns[11][data]": "11",
"columns[11][name]": "use",
"columns[11][searchable]": "true",
"columns[11][orderable]": "false",
"columns[11][search][value]": "",
"columns[11][search][regex]": "false",
"columns[12][data]": "12",
"columns[12][name]": "flavor",
"columns[12][searchable]": "true",
"columns[12][orderable]": "false",
"columns[12][search][value]": "",
"columns[12][search][regex]": "false",
"order[0][column]": "5",
"order[0][dir]": "asc",
"start": "0",
"length": "-1",
"search[value]": "",
"search[regex]": "false",
"wdtNonce": "2f82d8936d"
}
response = requests.post(url, data=data)
response.raise_for_status()
peppers = response.json()["data"]
# print out the first pepper information
print(peppers[0])
Вывод:
['1', 'Mild', "<a href='https://www.pepperscale.com/wp-content/uploads/2015/04/Tasty-Colorbell-Pepper-4-Plants-GreenYellowPurpleRed-0.jpg' target='_blank' rel='lightbox[-1]'><img src='https://www.pepperscale.com/wp-content/uploads/2015/04/Tasty-Colorbell-Pepper-4-Plants-GreenYellowPurpleRed-0-75x75.jpg' /></a>", "<a data-content='Bell Pepper' href='https://www.pepperscale.com/bell-pepper' target='_blank'>Bell Pepper</a>", '0', '0', '0', '0.00', '-8,000 to -2,500', 'annuum', 'Mexico', 'Culinary', 'Bright, Sweet']