清理网页解析

时间:2015-06-23 22:53:18

标签: python web-scraping

我只是练习并决定我想知道1980年至2015年PGA的第一大赚钱者

  Example
    1) should just work


  0 passing (76ms)
  1 failing

  1) Example should just work:
     TypeError: Cannot read property 'eql' of undefined
      at Context.<anonymous> (example.js:5:17)

所以问题我遇到了两个问题。

  1. 这会返回整个链接,而我只想要玩家的名字。

  2. 我只希望第一个玩家不是全年值得的。

  3. 我尝试通过更改find​​All来解决问题2。 不幸的是,只返回了玩家名称,因为这是所有页面的第一个条目。 任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

要获得唯一的第一个玩家名称,您应该使用此代码:

player = soup.find_all('td',{'class':'player-name'})
if len(player) > 2:
    first_player_name = player[1].find('a').get_text()

我跳过了第一个“播放器”(因为那个td只包含列的标题 - Player Name,然后 现在,您可以使用第一个播放器的名称执行任何操作(打印,添加到某个列表