У меня есть следующий код (который был предоставлен мне в ответе на другой вопрос. Он делает то же самое, что и мой оригинальный код, он просто чище).
'''python
from bs4 import BeautifulSoup
import requests
import pandas as pd
url2 = 'https://www.map-testing.com/map-search/?start=3&searchOptions=AllResults'
urlh2 = requests.get(url2)
soup = BeautifulSoup(urlh2.text, 'html.parser')
results = soup.find_all('div', attrs= {'class' : 'search-result'})
jsonData = []
for row_obj in results:
data = {}
row = row_obj.find("div")
#scrap Manufacturer
manufacturer = row.find("div", string="Manufacturer")
data['Manufacturer'] = manufacturer.find_next('div').text.strip()
# scrap Model Name
modelName = row.find("div", string="Model Name")
data['Model Name'] = modelName.find_next('div').text.strip()
# scrap Model Number
modelNumber = row.find("div", string="Model Number")
data['Model Number'] = modelNumber.find_next('div').text.strip()
# scrap MaP Report No.
maPReportNo = row.find("div", string="MaP Report No.")
data['MaP Report No.'] = maPReportNo.find_next('div').text.strip()
# scrap MaP Flush Score
maPFlushScore = row.find("div", string="MaP Flush Score")
data['MaP Flush Score'] = maPFlushScore.find_next('span').text.strip()
# scrap Specifications
specifications = row.find_all("li")
data['Specifications'] = ",".join(i.text.strip() for i in specifications)
jsonData.append(data)
df = pd.DataFrame(jsonData)
'''
Я пытаюсь собрать все данные с веб-сайта в коде и сохранить их в DataFrame, но сайт использует AJAX для загрузки необходимой мне дополнительной информации.
Единственное решение, которое я нашел, - использование Selenium, и я надеялся не использовать его, так как я хотел бы лучше понять, что мне нужно сделать, чтобы имитировать действия кнопки «Загрузить дополнительные результаты» на сайте.
Я просмотрел код на вкладке разработчика в Chrome, нашел вкладку XHR, в которой размещены все заголовки XHR, и точно определил, какой тип запроса используется.В чем я не уверен, так это в том, какой XHR дает мне информацию, которую я ищу, и как скопировать кнопку «Загрузить дополнительные результаты» для доступа к этой информации.Использую ли я POST или GET в этом случае, чтобы получить информацию, которую я ищу?Любое руководство поможет.