Python精美汤从一页中刮掉各个页面

时间:2018-10-26 01:41:06

标签: python web-scraping beautifulsoup

所以我打算刮这个网站,以便我可以获取每个英超球队的阵容数据。有人可以帮忙我吗?在该URL下的“英超联赛”标题下,我可以看到一堆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

1 个答案:

答案 0 :(得分:1)

使用母版页上的链接来解析明细页的正确地址,而不是猜测URL(如您所提到的,对于超级联赛而言是失败的)。

您需要这样使用beautifulsoup:

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

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