пустой набор результатов прекрасный суп

Скребуйте статью с сайта New York Times и получите пустой набор результатов. Моя цель – получить URL-адреса и текст элементов h3. Когда я запускаю это, я получаю пустой набор. Печать раздела scrape показывает, что я на правильном пути … target url – http://query.nytimes.com/search/sitesearch/?action=click&contentCollection&region=TopBar&WT.nav=searchWidget&module=SearchSubmit&pgtype=sectionfront#/san+ диего / 24 часа

url = "http://query.nytimes.com/search/sitesearch/?action=click&contentCollection&region=TopBar&WT.nav=searchWidget&module=SearchSubmit&pgtype=sectionfront{data}" html = urlopen(url.format(data="#"+'/san+diego/24hours')) soup = BeautifulSoup(html.read().decode('utf-8'),"lxml") section = soup.find("ol",class_='searchResultsList flush') items = section.find_all('li', class_="story") print items 

One Solution collect form web for “пустой набор результатов прекрасный суп”

HTML действительно не содержит данных. На вкладке «Сеть» в инструментах разработчика Chrome вы можете увидеть, что результаты поиска извлекаются по запросу AJAX по этому URL-адресу: http://query.nytimes.com/svc/add/v1/sitesearch.json?q=san % 20diego & BEGIN_DATE = 24hoursago & фасет = истина

Вот скриншот об обнаружении:

введите описание изображения здесь

Вам нужно открыть Инструменты разработчика (попробуйте меню «Вид»), выберите вкладку «Сеть», перезагрузите страницу и осмотрите ее. XHR = XmlHttpRequest, который в наши дни называется запросом AJAX. Это означает, что некоторый Javascript задал сервер для данных.

Это JSON, поэтому вам действительно повезло, потому что это будет намного лучше, чем синтаксический анализ HTML.

  • Экран Скремблирование веб-страницы на Javascript в Python
  • Есть ли эквивалент Python для модуля Perl Term :: VT102?
  • HTML Agility Pack или HTML Screen Scraping для Java, Ruby, Python?
  • Подстраницы BeautifulSoup списка с надписью «load more» pagination
  • веб-соскабливание динамического содержимого с помощью python
  • Скремблирование сайтов с поддержкой Javascript?
  • Нажмите кнопку на веб-сайте, затем очистите веб-страницу
  • Скребок экрана: обойти «Ошибка HTTP 403: запрос, запрещенный robots.txt»
  • Сырое HTML против DOM соскабливания в питоне с использованием механизации и красивого супа
  • Необходимо очистить информацию с веб-страницы с помощью кнопки «показать больше», каких-либо рекомендаций?
  • Вращающиеся прокси для веб-соскабливания
  • Python - лучший язык программирования в мире.