Использование BeautifulSoup в списке без потери атрибутов URLHtml

Программисты Html
Ответить
Гость
 Использование BeautifulSoup в списке без потери атрибутов URL

Сообщение Гость »


Я успешно очистил страницу для всех li и создал фрейм данных. Часть, с которой у меня возникли проблемы, — это извлечение и сохранение части «url_for_rowN» в каждой строке. Мне нужен файл .csv, который фиксирует два текстовых поля и URL-адрес, примененный к одному из них; пример формата приведен в коде ниже.

Бонусом было бы, если бы я мог каким-то образом захватить «дату» из h3 и сохранить ее в .csv, но все элементы списка на странице объединены в один, перемежающийся вставленным H3.

Мой текущий код:
из импорта bs4 BeautifulSoup импортировать панд как pd # # Пример формата файла, который я хочу извлечь """ Дата1 [*]Часть 1_строки1: Часть2_строки1 . . . [*]Часть 1_строкиN: Часть2_строки Дата2 [*]Часть 1_строкиNplus1: Часть2_строкиNplus1[/url] . . """ # Желаемый результат — это файл .csv, где каждая строка содержит ["date","part1_of_rowN","Part2_of_rowN","url_for_rowN"] с open("myfile.html", "r") как og_file: страница = ул(og_file.read()) суп = BeautifulSoup(страница, "html5lib") list_items = суп.find_all('li') #разделяем каждый ли в объекте супа на столбцы список_выход = [] для Ли в list_items: компания = li.find_all('промежуток') row = [li.text для ли в компании] list_output.append (строка) df = pd.DataFrame(list_output, columns=["Компания", "Роль", "C", "D", "E"]) #уберите хлам в графе «Компания» df["Компания"] = df["Компания"].str.replace(':','') df["Компания"] = df["Компания"].str.strip() с open('scrape.csv', 'w', newline='') как файл: df.to_csv('scrape.csv')
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»