Я не эксперт, но мне удалось найти способ очистки данных с помощью 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] - не лучшее решение, как я уже говорил здесь.
Спасибо