1

我正在使用 BeautifulSoup 从网页获取数据。该网页提供了一个日期,我在 Firefox 中打开该页面时会看到该日期。但是,当我查看页面源时,没有日期,只有一些生成日期的 javascript。我看到这里有一些相关的问题,我看到了对 ajax 和 json 的引用,但我只是一个业余程序员,在这里仍然感到困惑。这是一些 HTML 代码,其中包含我需要的日期的 javascript 代码。

<div class="match-details">
  <p class="floatleft">
    BARCLAYS PREMIER LEAGUE 

    <span>
      <script type="text/javascript">
        (function(){
        var d = new Date(1345489200000);

        var year = d.getFullYear();
        var month = d.getMonth() + 1;
        var day = d.getDate();
        var minutes = d.getMinutes();
        var hours = d.getHours();                                        

        if (minutes < 10) { minutes = '0' + minutes; }
        var dmy = [day, month, year];
        var hm = [hours, minutes];
        if (SITE_EDITION == 'us/en') {
            var dmy = [month, day, year];    
        }
        var matches_local = dmy.join('/') + " " + hm.join(':'); 
        matches_local += "<span class='live-red'>*</span>";

        document.write(matches_local);
        })();                                                       
      </script>
    </span>

  </p>
</div>
4

1 回答 1

2

BeautifulSoup是一个 HTML 处理库。您需要一个 HTML + Javascript 处理库。

阅读这个问题:Programmatic Python Browser with JavaScript

正如 QA 所说......你基本上要么需要使用真正的浏览器——通过 Selenium——要么使用支持 javascript 的 python 浏览器——比如 Spynner。

于 2013-03-01T20:32:14.260 回答