【问题标题】:Python Beautiful Soup Scraping Individual Pages from One PagePython Beautiful Soup 从一页中抓取单个页面
【发布时间】:2018-10-26 01:41:06
【问题描述】:

所以我打算抓取这个网站,这样我就可以获得每支英超球队的阵容数据。有人可以帮助我如何做到这一点吗?在这个 URL 下,在 Premier League 标题下,我可以看到一堆 UI 标签中的球队列表。

我还注意到每个团队的 URL 都是这样的 - https://www.skysports.com/arsenal,在该页面内,小队的链接看起来像 - https://www.skysports.com/arsenal-squad

但这也适用于非超级联赛球队。

最初,我还能够为球队及其积分等抓取英超联赛表并将其放入 csv 中。所以也许我可以使用它来构建 URL 以获取各个球队的数据。 ?例如,以下是我在 csv 中的内容

位置,团队,Pl,W,D,L,F,A,GD,Pts 1,曼彻斯特城,9,7,2,0,26,3,23,23 2,利物浦,9,7,2,0,16,3,13,23

【问题讨论】:

  • 使用母版页上的链接来解析详细页的正确地址,而不是猜测 URL。
  • 是的,我想我从一开始就无法想象我将如何解决这个问题的架构。我的问题实际上是从高层次来看我需要做什么

标签: python web-scraping beautifulsoup


【解决方案1】:

使用母版页上的链接来解析详细页面的正确地址,而不是猜测 URL(正如您提到的首映联赛失败)。

因此你需要使用beautifulsoup:

  1. 获取链接到您需要的详细信息页面的链接 (a)。
  2. 获取此链接的href
  3. 如果链接是相对的,您需要针对当前页面解析它,因此使用 urllib 从 url 中提取路径,然后使用 newpath=os.abspath(os.path.join(curpath,href)) ,将其粘贴回您的域的 url。
  4. 现在您有了详细信息页面的名称。

您可能会针对您所在的页面类型提出几种不同的情况,查找仅出现在您正在查看的页面上的 id 或类,或用于确定要使用哪个页面解析器的字符串模式使用。

【讨论】:

  • 谢谢。我现在有一个列表中的所有网址。有了漂亮的汤,我可以从一个主程序转到每个 url,然后提取团队信息吗?我不太确定如何做到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-20
  • 2018-11-25
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多