Можно ли перебирать список питонов с BeautifulSoup? - PullRequest
0 голосов
/ 21 октября 2019

У меня есть необработанные HTML-файлы, сохраненные в списке, и я хочу извлечь текст из каждого элемента в списке с помощью функции BeautifulSoup get.text().

Можно ли выполнить итерацию по списку с помощью get.text() function?

Когда я пытаюсь это сделать, я получаю сообщение об ошибке:

TypeError: ожидаемая строка или байтовоподобный объект

Есть ли способ сделать это?

from bs4 import BeautifulSoup as bs
import re
import pandas as pd
import itertools 
from collections.abc import Iterable
import pymssql



conn = pymssql.connect(
    host='x',
    port=x,
    user='x',
    password='x',
    database='x'
)
cursor = conn.cursor() 
cursor.execute('SELECT x FROM x')

text = [r[0] for r in cursor.fetchall() ]

conn.close()


conn = pymssql.connect(
    host='x',
    port=x,
    user='x',
    password='x',
    database='x'
)
cursor = conn.cursor() 
cursor.execute('SELECT x FROM x')

t = [r[0] for r in cursor.fetchall() ]

conn.close()


for line in text:
    soup = bs(text, 'html.parser')

for script in soup(["script", "style"]):
    script.extract() 

autor = soup.get_text()

s = autor.replace('\\n', '')

1 Ответ

0 голосов
/ 21 октября 2019

Вы передаете весь текстовый список в BeautifulSoup.

Попробуйте:

for line in text:
    soup = bs(line, 'html.parser')

Затем вы, вероятно, захотите добавить оставшуюся часть кода в цикл for, чтобы запустить его длякаждая "строка", которую я понимаю, представляет собой целую строку html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...