Мне нужна помощь по извлечению или удалению данных из таблицы на веб-странице.Я использую красивый суп.Невозможно извлечь таблицу с таблицей №.6. Любая помощь будет оценена:
Все данные строки из таблицы - 6 необходимо.На одной веб-странице есть несколько таблиц, но мне нужны данные только для информации о соответствии. Не знаю, как это сделать.
URL указан здесь
Мой кодприведено ниже:
link = ["http://ec.europa.eu/environment/ets/ohaDetails.do?returnURL=&languageCode=en&accountID=®istryCode=&buttonAction=all&action=&account.registryCode=&accountType=&identifierInReg=&accountHolder=&primaryAuthRep=&installationIdentifier=&installationName=&accountStatus=&permitIdentifier=&complianceStatus=&mainActivityType=-1&searchType=oha&resultList.currentPageNumber=1&nextList=Next%C2%A0%3E&selectedPeriods="] for pagenum, links in enumerate(link[start:end]): print(links) r = requests.get(links) time.sleep(random.randint(2,5)) soup = BeautifulSoup(r.content,"lxml") tree = html.fromstring(str(soup)) value = [] data_block = soup.find_all("table", {"class": "bordertb"}) print (data_block) output = [] for item in data_block: table_data = item.find_all("td", {"class": "tabletitle"})[0].table value.append([table_data]) print (value) with open("Exhibit_2_EXP_data.tsv", "wb") as outfile: outfile = unicodecsv.writer(outfile, delimiter="\t") outfile.writerow(["Data_Output"]) for item in value: outfile.writerow(item)
Попробуй это.Приведенный ниже скрипт должен извлечь вам содержимое из этой таблицы.Чтобы сделать его более конкретным, вы должны начать работу с предыдущей таблицы (так как она имеет уникальный идентификатор), а затем, используя соответствующий метод, вы можете получить доступ к содержимому нужной таблицы.Вот что я сделал, чтобы добиться того же:
import requests from bs4 import BeautifulSoup url = "http://ec.europa.eu/environment/ets/ohaDetails.do?returnURL=&languageCode=en&accountID=®istryCode=&buttonAction=all&action=&account.registryCode=&accountType=&identifierInReg=&accountHolder=&primaryAuthRep=&installationIdentifier=&installationName=&accountStatus=&permitIdentifier=&complianceStatus=&mainActivityType=-1&searchType=oha&resultList.currentPageNumber=1&nextList=Next%C2%A0%3E&selectedPeriods=" r = requests.get(url) soup = BeautifulSoup(r.text,"lxml") for items in soup.find(id="tblInstallationContacts").find_next_sibling().find_all("tr")[:-5]: data = [item.get_text(strip=True) for item in items.find_all("td")] print(data)