【问题标题】:Scrape table from HTML with beautifulsoup [duplicate]用beautifulsoup从HTML中刮取表格[重复]
【发布时间】:2018-12-05 01:52:37
【问题描述】:

我正在尝试使用 python3 从website 中抓取数据。该网站包含来自名为“Paladins”的基于冠军的 FPS 多人游戏的玩家数据。我想获得网站上显示的玩家基于冠军的统计数据。我面临的问题是,当我使用 Chrome 检查页面源时,我得到了这个包含“table”标签并且很干净的代码,我可以很容易地刮掉它:

INSPECTED CODE(我的要点链接)

但是当我制作汤对象时,我得到了不同的代码。当我转到页面源时,它和汤一样。页面源中没有标签。 (您可以检查页面源以获得更好的理解)。

现在我如何从网站上抓取冠军数据? 我正在为 python3 使用 requests 和 beautifulsoup

import requests as req
import bs4
res = req.get('http://paladins.guru/profile/pc/Encrytedbro/champions')
soup = bs4.BeautifulSoup(res.text, "lxml")
soup.select('#root')

它给了我这个结果:HERE'S A LINK TO MY GIST 而且我不知道如何从那里获取数据。

【问题讨论】:

  • 只是页面是动态生成的。你应该使用像硒这样的东西

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


【解决方案1】:

我认为您收到错误是因为您使用了错误的解析器,您应该使用 html.parser 而不是 lxml

soup = bs4.BeautifulSoup(res.text, "html.parser")

希望这能解决问题

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-05
  • 1970-01-01
相关资源
最近更新 更多