#python-3.x #csv #url #beautifulsoup
#python-3.x #csv #url #beautifulsoup
Вопрос:
Я новичок в python и beautifulsoup, и я пытаюсь использовать его для извлечения текстовых данных из списка нескольких URL-адресов, расположенных в файле csv, используя цикл для последующего экспорта URL-адреса и текста в другой файл csv. Цикл находит URL-адрес из list1.csv, удаляет текстовые данные и помещает их в list2.csv вместе с URL-адресом и текстовыми данными. Мой приведенный ниже код, похоже, выполняет только первые два URL-адреса в моем списке из 10.
from bs4 import BeautifulSoup
import requests
import csv
with open("list1.csv", "r") as f_urls, open("list2.csv", "w", newline="") as f_output:
csv_output = csv.writer(f_output)
csv_output.writerow(['url', 'text'])
for url in f_urls:
url = url.strip()
html = requests.get(url)
soup = BeautifulSoup(html.content, "html.parser")
text = soup.get_text()
csv_output.writerow([url, text])
Я попытался очистить текстовые данные, используя приведенный ниже код, чтобы получить только содержимое, но это привело к пустому выводу.
results = soup.find_all('p')
str_cells = str(results)
cleantext = BeautifulSoup(str_cells, "lxml").get_text()