我想从下面的主页获得我想要的信息。
确切地说,我想获取电影列表nano has-scrollbar-y中li标签的所有信息
<div class="movie-select">
<div class="movie-list nano has-scrollbar-y" id="movie_list">
<li class="rating-15" data-index="0" movie_cd_group="20018753" movie_idx="81626">
*************************
**the data that i want!**
*************************
<li class="rating-15" data-index="1" movie_cd_group="20018753" movie_idx="81626">
*************************
**the data that i want!**
*************************
...
...
<li class="rating-15" data-index="100" movie_cd_group="20018753" movie_idx="81626">
*************************
**the data that i want!**
*************************
但是,当我使用下面的代码来爬网此主页上的所有信息时。我无法在特定标签(div类“列表-列表”)中获取数据。
url = 'http://ticket.cgv.co.kr/Reservation/Reservation.aspx?MOVIE_CD=&MOVIE_CD_GROUP=&PLAY_YMD=&THEATER_CD=&PLAY_NUM=&PLAY_START_TM=&AREA_CD=&SCREEN_CD=&THIRD_ITEM=#'
r = requests.get(url)
soup = BeautifulSoup(r.text)
当我检查从request.get
获得的 html页面文字时,
没有数据
喜欢
</div>
<div class="movie-list nano has-scrollbar-y" id="movie_list">
<ul class="content scroll-y" onscroll="movieSectionScrollEvent();"></ul>
</div>
但是当我检查chrome时,所有信息都在这里!
<div class="movie-list nano has-scrollbar-y" id="movie_list">
<ul class="content scroll-y" onscroll="movieSectionScrollEvent();" tabindex="-1">
<li class="rating-15" data-index="0" movie_cd_group="20018753" movie_idx="81626">
<a href="#" onclick="return false;">
<span class="icon"> </span>
<span class="text">바이스</span><span class="sreader"></span></a></li>
<li class="rating-15" data-index="1" movie_cd_group="20019110" movie_idx="81721">
<a href="#" onclick="return false;">
<span class="icon"> </span><span class="text">미성년</
...
这是我的问题。
如何从this homepage获取所有数据?
答案 0 :(得分:2)
数据通过javascript加载。
1)要么使用类似硒的方法,要么允许这种渲染在尝试访问之前进行
2)使用开发工具并检查此http://ticket.cgv.co.kr/CGV2011/RIA/CJ000.aspx/CJ_HP_SCHEDULE_TOTAL_DEFAULT的POST XHR,看看它是否提供了您想要的信息,并且可以用requests
复制
答案 1 :(得分:1)
您的问题是onclick事件。您需要先与该页面上的javascript交互,然后才能解析漂亮的汤。请参阅先前的答案https://stackoverflow.com/a/29385645/10981724