Соскребание с BS, при добавлении (расширении) текста в список приводит к разделению каждого символа в виде отдельной строки? Почему и как этого избежать? - PullRequest
0 голосов
/ 08 апреля 2020

Я не эксперт, но мне удалось найти способ очистки данных с помощью BS и сохранения их в CSV. Я использовал один и тот же подход на нескольких разных веб-страницах, и все было в порядке. Теперь я столкнулся с дикой проблемой, пытаясь ее решить и погуглить, но не повезло.

Это HTML:

<tr class="abc">
     <td style="height:12px"><b>Name:</b></td>
     <td>Mark Park</td>
    </tr>

Мой код похож на:

name_list = [0]
res = requests.get(url,headers=headers)
soup = BeautifulSoup(res.content,'lxml')
name= soup.find("td", text="Name:").find_next_sibling("td").text.replace('\n', '').replace(',', '#').strip()
name_list.extend(name)
df = pd.DataFrame({'name':name_list})

Но проблема в том, что при добавлении текста в список каждая буква разделяется на новую строку. Если я делаю print(name), я получаю:

Mark Park

Но если я делаю print(name_list ), я получаю:

[0, 'M', 'a', 'r', 'k', ' ', 'P', 'a', 'r', ' k']

Ожидаемый результат будет, конечно, таким:

[0, 'Mark Park']

Как я сказал, я никогда не испытывал этого раньше. Может кто-нибудь объяснить, как этого избежать и почему это происходит?

PS Да, я знаю, что создание списка и добавление [0] - не лучшее решение, как я уже говорил здесь.

Спасибо

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