2015-11-16 2 views
0

Я пытаюсь очистить список библиотек из https://www.nypl.org/locations/list, используя следующий код:Scrape список библиотек, использующих BeautifulSoup

req = urllib2.Request('https://www.nypl.org/locations/list', headers={'User-Agent' : "Magic Browser"}) 
library = urllib2.urlopen(req).read() 
soup = BeautifulSoup(library) 

Однако объект супа, кажется, не содержит все элементы, и что более важно, список (т. е. тег тета). Мне нужно сделать вызов AJAX, чтобы очистить список? Что мне здесь не хватает?

+0

страница динамически генерируется. Возможно, для вызова здесь требуется вызов AJAX. Либо это, либо использовать скребок типа браузера, например, Selenium. – Manhattan

ответ

1

Вы можете избежать динамического содержимого непосредственно разбора API, который использует это приложение для загрузки данных Это конечная точка

https://refinery.nypl.org/api/nypl/locations/v1.0/locations 
+0

Информация о полном API доступна [здесь] (http://api.repo.nypl.org/). – Phylogenesis

+1

Я согласен, что это лучший курс, но тогда лучше, если он использует полный API, не так ли? – Manhattan

+1

Да, когда доступна api (не приватная api), нет смысла очищать сайт. – Sugam

Смежные вопросы