【发布时间】:2015-03-16 19:24:50
【问题描述】:
我正在尝试从本页右侧的“棒球场目录”中抓取设施信息http://seattle.mariners.mlb.com/ballparks/stadium_maps.jsp?c_id=sea
我已经搜索了好几个小时,试图弄清楚如何访问隐藏在“accordion”div 中的 div,其中包含该目录下拉列表中的所有信息。我已经用 Python 编写了以下代码,但是当我尝试访问手风琴内部的 div 时,那里什么也没有(当我尝试打印出我的变量手风琴并且输出是没有内容的 div 时可以看到)。
html = requests.get('http://seattle.mariners.mlb.com/ballparks/stadium_maps.jsp?c_id=sea').text
# Convert HTML to BeautifulSoup object
soup = BeautifulSoup(html)
accordion = soup.find(id = 'accordion')
#print accordion
divs = accordion.find_all('div')
#print divs
for div in divs:
item = div.find('ul')
for venue in item.find_all('li'):
for i in venue.find_all('p'):
clas = i.get('class')
if clas == 'section':
venuetype.append(i.get('data-type'))
venuesubtype.append(i.get('data-subtype'))
venuename.append(i.get('data-name'))
section.append(i.get('data-section'))
我非常感谢您对此事的任何帮助,因为我似乎无法访问手风琴 div 中的 html。谢谢!
【问题讨论】:
-
我的猜测是 JavaScript 正在填充 ,因此您的 GET 请求不会获得任何内容。
-
@jonnybazookatone 这是一个正确的猜测,请查看下面的答案。谢谢。
标签: python web-scraping accordion screen-scraping hidden