【发布时间】:2023-01-26 01:44:13
【问题描述】:
Hi ! I'm new to Beautifulsoup, I was trying to webscrapp the info from this website:
问题是,当我尝试检查网站上的元素时,所有内容都称为“td”和类“sch1”。因此,当我尝试导入时,我变得一团糟。我怎样才能以一种可读和可用的方式导入这些信息,也许我会尝试用它构建一个数据框。
import requests
import pandas as pd
from bs4 import BeautifulSoup
url = "https://feeds.donbest.com/schedulemembers/getRotation.html?bookType=1&eventDate=20230129"
get_url = requests.get(url).content
soup = BeautifulSoup(get_url,"html.parser")
title = soup.find_all("td","schtop1")
rotation = soup.find_all("td","sch1")
title_list = []
rotation_list = []
for mainT in title:
title_list.append(mainT.text)
print(title_list)
for rot in rotation:
rotation_list.append(rot.text)
print(rotation_list)
输出: ['NFL 会议锦标赛','2023 年 1 月 29 日,星期日'] ['321', '旧金山 49ERS', '', 'P: Sun Jan 29 12:00:00 PST 2023\xa0\n C: Sun Jan 29 14:00:00 PST 2023\xa0\n E: Sun 2023 年 1 月 29 日 15:00:00 PST', '322', '费城老鹰队', '323', '辛辛那提猛虎队', '', 'P: Sun Jan 29 15:30:00 PST 2023\xa0\n C : Sun Jan 29 17:30:00 PST 2023\xa0\n E: Sun Jan 29 18:30:00 PST 2023', '324', 'KANSAS CITY CHIEFS']
我需要能够使用这些信息来构建一个如下所示的 pandas 数据框:
| Date | Rot Visitor | Visitor | Rot Home | Home | PST | ET | CT |
|---|---|---|---|---|---|---|---|
| SUNDAY, JANUARY 29, 2023 | 321 | SAN FRANCISCO 49ERS | 322 | PHILADELPHIA EAGLES | Sun Jan 29 12:00:00 PST 2023 | Sun Jan 29 15:00:00 PST | C: Sun Jan 29 14:00:00 PST 2023 |
| SUNDAY, JANUARY 29, 2023 | 323 | PHILADELPHIA EAGLES | 324 | CINCINNATI BENGALS | Sun Jan 29 15:30:00 PST | Sun Jan 29 18:30:00 PST 2023 | Sun Jan 29 17:30:00 PST 2023 |
如果我能以更有用的格式获取数据,我认为我可以构建数据框。
【问题讨论】:
标签: python web-scraping beautifulsoup python-requests