【问题标题】:How can I get data that included tag that cannot be obtained through requests.get?如何获取包含无法通过 requests.get 获取的标签的数据?
【发布时间】:2019-09-02 18:35:03
【问题描述】:

我想从下面的主页获取我想要的信息。

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=#

确切地说,我想获取movie-list 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 类 'list-list')。

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">&nbsp;</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">&nbsp;</span><span class="text">미성년</

   ...

所以这是我的问题。

如何从this homepage 获取所有数据?

【问题讨论】:

    标签: python-3.x web-scraping beautifulsoup web-crawler


    【解决方案1】:

    数据是通过 javascript 加载的。

    1) 使用像 selenium 这样的方法,它允许在尝试访问之前进行此渲染

    2) 使用开发工具并检查此 http://ticket.cgv.co.kr/CGV2011/RIA/CJ000.aspx/CJ_HP_SCHEDULE_TOTAL_DEFAULT 的 POST XHR 并查看它是否提供了您想要的信息并且可以使用 requests 进行复制

    【讨论】:

      【解决方案2】:

      您的问题是 onclick 事件。您需要先与该页面上的 javascript 交互,然后才能解析它。看这个之前的回答https://stackoverflow.com/a/29385645/10981724

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-05
        • 1970-01-01
        • 1970-01-01
        • 2021-07-05
        • 1970-01-01
        • 2016-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多