【问题标题】:Beautiful Soup not displaying the text seen on webpage美丽的汤不显示网页上看到的文字
【发布时间】:2019-11-12 04:13:01
【问题描述】:

我正在玩抓取网站: https://www.sportsbookreview.com/betting-odds/nba-basketball/merged/?date=20131101

我正在尝试使用漂亮的汤来拉入投注线,当我检查页面时我可以看到我想要的结果。问题是当我把它拉进去时,我看不到实际结果只是一个'-'

betting_page = requests.get(f'https://www.sportsbookreview.com/betting-odds/nba-basketball/merged/?date=20131101')
betting_page = BeautifulSoup(betting_page.text, 'html.parser')
for item in betting_page.find_all('main', class_='_2ZO4X'):
    print (item.text) #I should see the betting lines here but I only see '-'

任何 BS4 专家都知道为什么 bs 没有提取真实文本吗?

【问题讨论】:

    标签: python web-scraping beautifulsoup


    【解决方案1】:

    你应该知道,BeautifulSoup 只能从网页的 HTML 中解析出 DOM。但是,您可以在页面中看到的统计信息不是通过 HTML 而是 JSON 提供给您的。

    尝试获取 JSON 的真实查询 URL,可以得到 JSON 格式的统计信息。

    【讨论】:

      【解决方案2】:

      如果您尝试获取表格中的数据,列 1、2、3、4、5 中的数字,则您正在查看错误的元素正确的方法是

      for item in betting_page.find_all('div', class_='_1Y3rN'):
         for div in item.find_all('div'):
            print (div.text) 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-15
        • 2021-03-30
        • 1970-01-01
        • 2020-09-28
        • 1970-01-01
        • 2018-09-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多