如何抓取投手的名字和球队?

时间:2018-08-27 23:20:55

标签: python pandas web-scraping python-requests findall

我对抓取/编码并不陌生,如果可能,可以使用一些帮助。

  from bs4 import BeautifulSoup
  import requests
  import pandas as pd

  page_link ='https://www.baseball-reference.com/previews/index.shtml'
  page_response = requests.get(page_link, timeout=5)
  soup = BeautifulSoup(page_response.content, "html.parser")

我需要帮助,以找到合适的方法来找到投手的名字和球队。

(仅示例:)

  player_name = [i.text for i in soup.find_all('td', {'href': 'example-name'})]

  team = [i.text for i in soup.find_all('td', {'href': 'example-team'})]  

这是我导出到excel的地方:

  my_dict = dict(zip(player_name, team))

  df = pd.DataFrame(pd.Series(my_dict))

  writer = pd.ExcelWriter('pitching_webscrape.xlsx')
  df.to_excel(writer,'Sheet1')
  writer.save()

我想把投手的名字和球队引入Excel。在此先感谢您的帮助!如果我可以改善我的问题或添加更多详细信息,请告诉我。

这是我到目前为止的代码:

  from bs4 import BeautifulSoup
  import requests
  import pandas as pd
  page_link ='https://www.baseball-reference.com/previews/index.shtml'
  page_response = requests.get(page_link, timeout=5)
  soup = BeautifulSoup(page_response.content, "html.parser") 

我的第一个代码:

  t = soup.find_all('td')
  print(t)  

我的第一个输出:

[Blue Jays(60-70),, PreviewOrioles(37-94),,7:05 PM             , TOR Sam Gaviglio
(#43、28,RHP,3-6、4.94), BAL David Hess
(#41,24,RHP,2-8,5.50),White Sox(51-79),,

我的第二个代码:

  t = soup.find_all('td')
  for a in t:
      print(a.text)  

第二个输出:

蓝鸟(60-70)

预览

金莺(37-94)

7:05 PM

TOR 山姆·加维格里奥(#43,28,RHP,3-6,4.94) 巴尔 大卫·赫斯(#41,24,RHP,2-8,5.50) 白袜(51-79)

我越来越近了,但是,我只想要球员的名字和球队的名字。 (即TOR,Sam Gaviglio)。我也希望将其导入excel。谢谢! =)

1 个答案:

答案 0 :(得分:0)

如果您只需要一个var blogData = [{Title: .., Description: ...}, ...]; //Data from JSON Response ... ... $('<div class = "title-list" data-post-id =' + postId +'>' + title + '</div>').appendTo(monthblogList); ... ... function showBlogEntry(element){ var id = $(element).data('post-id') var close = $('<span id = close> x </span>') blogEntry.empty() $(close).appendTo(blogEntry) $('<h3>' + blogData[id].Title + '</h3>').appendTo(blogEntry) $(blogData[id].Description).appendTo(blogEntry) $("#close").on("click", function (event) { blogEntry.empty() about.fadeIn() }); } 名球员和团队,那么就足够了:

list