如何从具有多个嵌入选项卡的网页中抓取 td 类元素

问题描述 投票:0回答:1
我在使用 python 网页抓取程序运行下面的代码时遇到了问题,它似乎从多个选项卡打印文本,而不仅仅是网页上找到的单个“增强形式”选项卡。如何解决此问题,以便能够从页面元素打印单个 td 类文本?

注意:我正在 Excel 电子表格中打印此内容。

import requests from bs4 import BeautifulSoup from openpyxl import Workbook url = "https://www.racingandsports.com.au/form-guide/thoroughbred/australia/cranbourne/2024-04-26/R8/enhanced-form" # Send a GET request to the URL response = requests.get(url) # Check if the request was successful (status code 200) if response.status_code == 200: # Parse the HTML content soup = BeautifulSoup(response.content, "html.parser") # Find the first table with id "tblStats" table = soup.find("table", {"id": "tblStats"}) if table: # Create a new Excel workbook wb = Workbook() ws = wb.active ws.title = "Data" # Find all table rows (tbody > tr) rows = table.find("tbody").find_all("tr") # Loop through each row for row_index, row in enumerate(rows, start=1): # Find all table data (td) tds = row.find_all("td") # Get the text from the 6th table data element if it exists data = tds[5].get_text(strip=True) # Write the data to the Excel worksheet ws.cell(row=row_index, column=1, value=data) # Save the workbook wb.save("output.xlsx") print("Data written to output.xlsx successfully.") else: print("Table with id 'tblStats' not found.") else: print("Failed to retrieve the webpage. Status code:", response.status_code)
    
python web-scraping beautifulsoup
1个回答
0
投票
要正确加载页面,请使用 BeautifulSoup 中的

html5lib

 解析器,例如:

from io import StringIO import pandas as pd import requests from bs4 import BeautifulSoup url = "https://www.racingandsports.com.au/form-guide/thoroughbred/australia/cranbourne/2024-04-26/R8/enhanced-form" soup = BeautifulSoup(requests.get(url).content, "html5lib") table = soup.select_one("#tblStats") df = pd.read_html(StringIO(str(table)))[0] print(df)
打印:

Tab FORM Horse WT BP Tot $PM Car$/St Jockey Joc L50 Joc PM JRat Trainer Tra L50 Tra PM TRat EST LSR 50D BL3 12m Car RT GF RT D RT SH 12M AW 50D AW NR HCP PR BP.1 12TB 12TM 12TT3 100TB 12AWB 12AWM 12AWT3 100AWM WT TS + | - BP TS BP LS DIST LS + | -.1 CLS LS LS Fav TS JockeyTS RatingTS J/H LS JockeyLS RatLS J/H TrainerRating Location TC Joc/Hor Career 12 Month Course C&D Dist Firm Good Soft Heavy Group 1 Joc L50.1 Joc L350 Tra L50.1 Tra L350 Sire L50 Sire L350 Hor & Crs Joc & Crs Tra & Crs PP Unnamed: 72 Unnamed: 73 0 1 09x18 BOLD RESPONSE 62.0 4 $94.9k $6.3k LOGAN BATES (a3) $244.3k $522.9k 2.1 JULIUS SANDHU $309.4k $2,791.0k 2.8 34.0 18.5 33.0 33.0 34.0 34.0 34.0 0.0 33.0 0.0 0 7 NaN 9 16 71.4 73.7 73.4 0.0 0.0 0.0 0.0 0.0 62.0 2.5 4 8 1000m 200m BM64 - LOGAN BATES 2.1 LOGAN BATES 3.2 JULIUS SANDHU 2.8 Cranbourne N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $59.7 NaN NaN 1 2 7116x KING'S TAJ 61.5 10 $70.1k $6.4k LUKE CURRIE $601.5k $3,380.0k 2.5 A & S FREEDMAN $350.0k $11,823.2k H 4.4 28.0 32.5 0.0 33.0 34.0 35.0 33.0 0.0 35.0 0.0 0 5 NaN 1 11 72.0 72.0 72.0 0.0 0.0 0.0 0.0 0.0 61.5 2.5 10 3 1600m -400m NMW - LUKE CURRIE 2.5 DAMIAN LANE 4.7 A & S FREEDMAN H 4.4 Flemington N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $24.6 NaN NaN 2 3 6096x ALTAI RANGER 61.0 6 $163.3k $7.4k BEN ALLEN $378.5k $3,072.0k 3.9 JOHN SADLER $204.2k $2,354.2k 3.4 28.5 31.0 0.0 35.5 37.0 41.0 41.0 0.0 40.0 31.0 0 6 NaN 0 11 72.8 72.8 72.8 0.0 71.0 71.0 71.0 0.0 61.0 1.5 6 2 1200m 0 BM70 - BEN ALLEN 3.9 BEN ALLEN 3.5 JOHN SADLER 3.4 Pakenham OC N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $39.8 NaN NaN 3 4 147x2 ESECUTORE 60.5 8 $76.2k $12.7k LAUREN BURKE (a3) $217.9k $356.0k 3.5 MATT LAURIE $1,378.1k $3,788.1k H 3.8 35.5 33.5 34.0 37.5 37.5 37.5 37.5 0.0 34.0 0.0 0 21 NaN 13 10 70.7 71.0 71.0 0.0 0.0 0.0 0.0 0.0 60.5 0.0 8 1 1000m 200m BM64 - LAUREN BURKE 3.5 ETHAN BROWN 4.0 MATT LAURIE H 3.8 Mornington N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $7.6 NaN NaN 4 5 22346 I AM CAVIAR 60.5 9 $68.2k $5.7k LUKE NOLEN $419.4k $13,946.9k 2.8 PETER G MOODY & KATHERINE COLEMAN $3,751.6k $10,677.1k H 3.3 39.0 33.5 38.5 38.5 40.5 40.5 38.5 0.0 36.5 40.5 0 42 NaN 61 11 70.4 70.7 70.8 70.7 71.9 71.9 71.9 0.0 60.5 3.0 9 9 1000m 200m BM70 - LUKE NOLEN 2.8 LINDA MEECH 3.6 PETER G MOODY & KATHERINE COLEMAN H 3.3 Pakenham OC N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $17.6 NaN NaN 5 6 30531 SUPERSET 60.5 1 $82.5k $6.3k JACKIE BERIMAN $126.4k $683.3k 2.0 SHAWN MATHRICK $204.7k $1,515.3k 3.9 32.5 32.0 32.0 32.0 32.0 44.5 39.5 0.0 44.5 0.0 0 5 NaN 9 17 71.2 71.7 71.7 71.2 0.0 0.0 0.0 0.0 60.5 -1.0 1 5 1200m 0 BM58 - JACKIE BERIMAN 2.0 JACKIE BERIMAN 1.9 SHAWN MATHRICK 3.9 Cranbourne N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $39.8 NaN NaN 6 7 2212x ACID WASH 59.5 - $68.8k $17.2k JAMIE KAH $2,000.1k $10,826.9k H 4.3 CLINTON MCDONALD $1,885.8k $4,664.8k 3.5 33.0 37.0 0.0 37.5 37.5 37.5 37.5 0.0 0.0 0.0 0 15 NaN 1 17 70.4 70.9 70.9 0.0 0.0 0.0 0.0 0.0 59.5 1.5 1 6 1500m -300m BM70 Beaten JAMIE KAH H 4.3 JAMIE KAH 3.0 CLINTON MCDONALD 3.5 Cranbourne N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Scr Scr Scr 7 8 13x THE OPEN 59.5 7 $19.8k $9.9k BILLY EGAN $232.2k $3,384.0k H 3.0 PATRICK PAYNE $342.2k $2,898.1k H 4.1 32.0 36.0 0.0 36.0 36.0 36.0 36.0 0.0 0.0 0.0 0 6 NaN 1 12 68.8 69.5 69.5 0.0 0.0 0.0 0.0 0.0 59.5 -0.5 7 6 1200m 0 CL1 - BILLY EGAN H 3.0 BILLY EGAN 3.5 PATRICK PAYNE H 4.1 Plumpton N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $6.4 NaN NaN 8 9 1x6 MR CHARISMATIC 59.0 - $33.8k $16.9k JAKE NOONAN $242.2k $1,477.6k 2.4 BEN, WILL & JD HAYES $765.9k $4,882.6k H 4.3 25.0 25.5 26.0 34.5 34.5 34.5 34.5 0.0 26.0 0.0 0 4 NaN 7 10 71.0 72.2 72.2 73.4 0.0 0.0 0.0 0.0 59.0 -0.5 14 1 1200m 0 BM64 - JAKE NOONAN 2.4 MICHAEL DEE 4.0 BEN, WILL & JD HAYES H 4.3 Pakenham OC N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Scr Scr Scr 9 10 2x721 PERI PERI RICH 59.0 - $86.6k $4.3k EMILY POZMAN (a3) $189.1k $382.5k 3.0 MICHAEL HUGLIN $202.4k $1,601.2k 3.2 31.5 32.5 32.5 32.5 32.5 33.0 32.5 0.0 33.0 32.0 0 5 NaN 9 11 71.3 73.8 72.2 71.3 71.4 72.4 72.4 0.0 59.0 0.0 10 6 1200m 0 BM58 - EMILY POZMAN 3.0 EMILY POZMAN 2.0 MICHAEL HUGLIN 3.2 Pakenham OC N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Scr Scr Scr 10 11 517 SUPERCONSTELLATION 59.0 3 $32.3k $10.8k JORDAN CHILDS $390.0k $2,915.2k H 4.3 ENVER JUSUFOVIC $406.3k $3,348.5k 4.2 34.0 30.5 32.5 32.5 32.5 32.5 32.5 0.0 31.0 0.0 0 6 NaN 9 12 70.2 71.1 71.1 70.2 0.0 0.0 0.0 0.0 59.0 0.0 3 9 1200m 0 BM0-64 - JORDAN CHILDS H 4.3 BEN ALLEN 4.1 ENVER JUSUFOVIC 4.2 Cranbourne N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $19.9 NaN NaN 11 12 1 ULUWATU 57.0 - $22.0k $22.0k WINONA COSTIN $243.8k $1,910.1k 3.9 ANNABEL NEASHAM $509.9k $4,978.7k H 3.7 32.5 33.0 33.5 33.5 33.5 33.5 0.0 0.0 33.5 0.0 0 5 NaN 10 0 73.8 73.8 73.8 73.8 0.0 0.0 0.0 0.0 57.0 0.0 16 8 1200m 0 MDN - WINONA COSTIN 3.9 WINONA COSTIN 4.0 ANNABEL NEASHAM H 3.7 Pakenham N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Scr Scr Scr 12 13 29612 BRIER 59.0 12 $45.0k $7.5k LUKE CARTWRIGHT (a3) $155.9k $1,058.7k H 3.0 ENVER JUSUFOVIC $406.3k $3,348.5k 4.2 31.5 31.5 31.5 31.5 34.0 34.0 31.5 0.0 34.0 0.0 0 5 NaN 9 9 70.3 71.0 70.8 71.0 0.0 0.0 0.0 0.0 59.0 2.5 12 5 1200m 0 BM0-64 Beaten LUKE CARTWRIGHT H 3.0 MS DAKOTAH KEANE 3.6 ENVER JUSUFOVIC 4.2 Cranbourne N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $11.7 NaN NaN 13 14 43712 EAMONN'S MEMORY 59.0 11 $125.8k $2.7k CORY PARISH $77.3k $579.8k 1.6 ANDREW DALE $129.9k $671.8k 2.2 32.0 33.0 33.0 33.0 33.0 33.0 33.0 0.0 28.5 21.0 0 5 NaN 9 6 69.6 70.7 70.8 70.7 0.0 0.0 0.0 0.0 59.0 -3.0 11 9 1200m 0 BM58 - CORY PARISH 1.6 CORY PARISH 1.7 ANDREW DALE 2.2 Wangaratta N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $39.8 NaN NaN 14 15 1x69x SAVILLE STREET 58.5 5 $8.2k $2.7k BEAU MERTENS $234.0k $4,222.4k H 4.2 BEN, WILL & JD HAYES $765.9k $4,882.6k H 4.3 28.5 28.0 0.0 37.0 37.0 37.0 0.0 0.0 31.0 37.0 0 5 NaN 0 16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 58.5 -0.5 5 10 1429m -229m BM64 - BEAU MERTENS H 4.2 DANIEL STACKHOUSE 3.1 BEN, WILL & JD HAYES H 4.3 Flemington BEN & JD HAYES NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $39.8 NaN NaN 15 16 665x4 FROM PANTHERLAND 58.5 2 $111.4k $4.0k PATRICK MOLONEY $218.3k $1,514.7k 3.8 K & K KEYS $222.3k $1,786.6k 2.4 32.0 31.5 31.5 36.0 38.5 44.0 44.0 0.0 39.0 0.0 0 7 NaN 3 11 73.1 73.1 73.1 0.0 0.0 0.0 0.0 0.0 58.5 0.0 2 4 1100m 100m BM64 - PATRICK MOLONEY 3.8 BLAIKE MCDOUGALL 3.6 K & K KEYS 2.4 Cranbourne N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN $39.8 NaN NaN
    
© www.soinside.com 2019 - 2024. All rights reserved.