сравнить список python со строками, которые извлекаются из html с помощью BeautifulSoup python3 - PullRequest
0 голосов
/ 08 июня 2018

Я работаю над проектом на Python, используя BeautifulSoup, в котором я пытаюсь извлечь данные из HTML.Я уже извлек некоторые данные, но теперь я столкнулся с некоторыми проблемами, которые у меня есть этот список категории = ['author', 'pinglun', 'renqi', 'step', 'gongyi', 'nandu', 'renshu','kouwei', 'zbshijian', 'prshijian'] и в моем html-документе есть значение, связанное с каждым элементом в приведенном выше списке.я пробовал этот код, но это просто получение значения одного элемента, то есть "автора".я хочу извлечь значения всех элементов в приведенном выше списке "категорий"

for script in scripts:
if "_BFD.BFD_INFO" in script.text:
    text=script.text
    m_text=text.split('=')
    m_text = text.split('=')
    m_text = m_text[2].split(":")
    m_text = m_text[1].split(',')
    encoded = m_text[0].encode('utf-8')
    print(encoded.decode('utf-8'))
category=['author', 'pinglun', 'renqi', 'step', 'gongyi', 'nandu', 
'renshu', 'kouwei', 'zbshijian', 'prshijian']
for script in scripts:
text=script.text
m_text=text.split(',')
for n in m_text:
    if 'author'  in n:
        print(n)

1 Ответ

0 голосов
/ 08 июня 2018

Просто используйте for -loop для проверки каждой категории в текстовом сегменте:

for script in scripts:
    if "_BFD.BFD_INFO" in script.text:
        text=script.text
        m_text=text.split('=')
        m_text = text.split('=')
        m_text = m_text[2].split(":")
        m_text = m_text[1].split(',')
        encoded = m_text[0].encode('utf-8')
        print(encoded.decode('utf-8'))
    category=['author', 'pinglun', 'renqi', 'step', 'gongyi', 'nandu', 
    'renshu', 'kouwei', 'zbshijian', 'prshijian']
    for script in scripts:
        text=script.text
        m_text=text.split(',')
        for n in m_text:
            for c in category:
                if c in n:
                   print(n)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...