#web-scraping #servlets #beautifulsoup #python-requests
#очистка веб-страниц #сервлеты #beautifulsoup #python-запросы
Вопрос:
Я пытаюсь очистить данные с приведенной ниже веб-страницы, используя библиотеку запросов и BeautifulSoup на Python. К сожалению, похоже, что веб-сайт использует сервлет для извлечения данных, и я не совсем уверен, как с этим справиться.
Я пробовал оба запроса непосредственно со страницы результатов:
http://a810-bisweb.nyc.gov/bisweb/PropertyProfileOverviewServlet?bin=1014398amp;go4= GO amp;requestid=0
html = requests.get(url)
soup = BeautifulSoup(html.text, 'html')
А также запросы со страницы поиска:
url = 'http://a810-bisweb.nyc.gov/bisweb/bispi00.jsp'
html = requests.get(url, params={'bin':1014398})
soup = BeautifulSoup(html.text, 'html')
Оба заканчиваются истечением времени ожидания запроса, предположительно потому, что я неправильно форматирую свой запрос. Есть ли способ успешно захватить html со страницы результатов?
Ответ №1:
Попробуйте использовать selenium
:
from bs4 import BeautifulSoup
from selenium import webdriver
import time
url = 'http://a810-bisweb.nyc.gov/bisweb/PropertyProfileOverviewServlet?bin=1014398amp;go4= GO amp;requestid=0'
driver = webdriver.Chrome()
driver.get(url)
time.sleep(3)
soup = BeautifulSoup(driver.page_source, 'html5lib')
driver.close()