我是所有编码的初学者。
我需要从赢得全州奖项的site中抓取一份高中足球运动员名单。
我深入研究了这个问题,并被引向Python和Beautiful Soup网站抓取。
我想到了以下代码,但是我很难弄清楚只得到player information
。
我得到了一堆标题,链接和添加信息,但没有我想要的信息。
任何提示将不胜感激。到目前为止,这是我想出的。善良。
import urllib
import urllib.request
from bs4 import BeautifulSoup
theurl = "https://cumberlink.com/sports/high-school/football/pa-football-writers-all-state-team-
class-a-a-and/article_4d286757-a501-5b5b-b3be-cfebc06ef455.html"
thepage = urllib.request.urlopen (theurl)
soup = BeautifulSoup (thepage, "html.parser")
print (soup.title.text)
""""""
for link in soup.findAll('p'):
print (link.get('href'))
print (link.text)
""""""
print (soup.find('div', {"class":"subscriber-only"}))
此外,如果有人可以帮助我了解如何将其导入到Excel
文件中,则可以自动将其导入图表格式。即({Player
,Position
,School
,Height
,Weight
,Year
,Award
等)
答案 0 :(得分:0)
基本上,您不需要使用urllib
,因为Python已经有一个很棒的模块requests
。
如果您希望使用print(soup.title.text)
,那么它将为您提供页面的title
。
这是通过div
遍历您的特定class
的正确方法
import requests
from bs4 import BeautifulSoup
r = requests.get('https://cumberlink.com/sports/high-school/football/pa-football-writers-all-state-team-class-a-a-and/article_4d286757-a501-5b5b-b3be-cfebc06ef455.html').text
soup = BeautifulSoup(r, 'html.parser')
for item in soup.findAll('div', {"class": "subscriber-only"}):
print(item.text)