Итак, я открыл страницу, используя селен, и в этом текущем URL я хочу проанализировать таблицу HTML. URL-адрес, например, «https://something.sth/modules/auth/current_url.php», и у меня есть таблица с 4 заголовками: «Запись», «Урок», «Учитель», «Тип». Имя таблицы - «таблица по умолчанию». Теперь я искал вокруг и нашел много людей, которые предлагали использовать метод pandas 'read_ html. Мой код выглядит примерно так:
import pandas as pd
import selenium
# i get the current url i'm in, which again looks like : https://something/modules/auth/current_url.php
currentURL = browser.current_url
# now I want the table that is inside the html of my url to be parsed by pandas
dfs = pd.read_html(currentURL)
Затем я получаю ValueError: Таблицы не найдены
Ι также попробовал решение, которое кто-то еще предложил в SO, используя Beautiful Soup
from bs4 import BeautifulSoup
path = browser.current_url
ecj_data = open(path,'r').read()
soup = BeautifulSoup(ecj_data)
tabulka = soup.find("table", {"class" : "MsoNormalTable"})
column_headers = ['Record','Lesson', 'Teacher', 'Type']
records = []
for idy, row in enumerate(tabulka.findAll('tr')):
if idy == 0:
continue
cols = row.findAll('td')
record = {}
for idx, col in enumerate(cols):
record[column_headers[idx]] = col.text.strip()
records.append(record)
df = pd.DataFrame.from_dict(records)
df[column_headers]
Теперь я получаю OSError [Errno22] Недопустимый аргумент: 'https://something.sth/modules/auth/current_url.php '
По-видимому, это неправильно, поскольку я не совсем понял, как передать правильный URL-адрес для pandas для чтения. Кроме того, в примере я попытался скопировать URL-адрес. html, тогда как у меня есть. php. Это проблема? И если да, то как мне разобрать расширение PHP URL? Кто-нибудь может мне помочь, пожалуйста! Большое спасибо!