Hej! jeg i lang tid prøvet at få en scraper til at kunne trække data ud som jeg vurdere er brugbart på et forum ved hjælp af BeautifulSoup i et Pandas format - men jeg kan bare ikke få det aggregeret.. HTML strukturen ser forholdsvis enkel ud, hvor debatten er delt op i forskellige tabelrækker <tr> og heri to celler <td> .. Mit store problem tror jeg er, at den ene celle <td> indeholder både en dato og forfatteren på følgende måde: <td> dato <a>forfatter</a></td> som jeg ikke kan finde ud af at skille ad i min kode.
Scriptet jeg har lavet indtil videre er herunder - har du en idé til hvordan jeg kan få dette til at virke?
--Scriptet:
?import bs4 as bs
import requests
import pandas as pd
#First i read table DOM using ID - (holder url hemmelig I denne tråd)
source = requests.get("Forum_url").text
soup = bs.BeautifulSoup(source,'html.parser')
#I am now looking at the table that include the debate
contenttable = soup.find('table', attrs={'id':'chathistorytable'})
table_rows = table.find_all('tr')
#i am now trying to aggregate the data to fit into pandas where the coloms date, author and text should appear
l = []
for tr in table_rows:
td = tr.find_all('td')
row = [str(tr.get_text()).strip() for tr in td]
l.append(row)
df = pd.DataFrame(l, columns=["Date","author","Text"])
print(df)
--
Gæstebruger, opret dit eget
login og få din egen signatur.