Найти - Пользователи
Полная версия: Почему отображаются лишние слеши в коде страницы? Из-за этого не могу найти div c нужным class через BeautifulSoup
Начало » Python для новичков » Почему отображаются лишние слеши в коде страницы? Из-за этого не могу найти div c нужным class через BeautifulSoup
1 2
xam1816
Скинь ссылку на сайт, и напиши что нужно получить
Klakk
py.user.next
Ты преобразовал текст?
Да, конечно:
 found = []
url = f'https://.........'
r = work.get(url, headers=headers).text
m = re.search('null, null, \"(.+?)\", null', r)
if m:
    found = m.group(1)
list = 'div class=\"hook-details1679980270 hook-details\">\n    <title>#7159581 Строительная заявка<\/title>\n\n    <div class=\"agg-details__header sticky opaque\">\n '
print(found[1:-511368])
print(repr(found[1:-511368]))
print(repr(list))
print(list)
py.user.next
Klakk
Да, конечно:
Где?

Вот это проделай с found
https://python.su/forum/post/227336/
Klakk
py.user.next
Вот это проделай с found
https://python.su/forum/post/227336/
Сделал. все получилось. Спасибо! Только добавил еще пару слешей
 newtext2 = newtext1.replace('\\\\n', '\n')

Но я так и не понял почему пришлось действовать через repr
py.user.next
Klakk
Только добавил еще пару слешей
Не надо добавлять бэкслеши, ты должен убрать repr(). repr() я сказал тебе сделать, чтобы мне было видно на форуме, какие невидимые символы есть в строке, потому что repr() все невидимые символы делает видимыми.
Klakk
Но я так и не понял почему пришлось действовать через repr
repr() нужен для анализа строки здесь на форуме, потому что сам ты объяснить не сможешь, какие символы там есть и каких нет, так как ты ничего не знаешь про символы.

Вот ты писал код
Klakk
  
found = []
url = f'https://.........'
r = work.get(url, headers=headers).text
m = re.search('null, null, \"(.+?)\", null', r)
if m:
    found = m.group(1)
list = 'div class=\"hook-details1679980270 hook-details\">\n    <title>#7159581 Строительная заявка<\/title>\n\n    <div class=\"agg-details__header sticky opaque\">\n '
print(found[1:-511368])
print(repr(found[1:-511368]))
print(repr(list))
print(list)
Надо его сделать вот таким
  
found = []
url = f'https://.........'
r = work.get(url, headers=headers).text
m = re.search('null, null, \"(.+?)\", null', r)
if m:
    found = m.group(1)
text = found[1:-511368]
И к нему добавить замены через .replace() с одним бэкслешем везде, как я писал изначально.
Klakk
py.user.next
И к нему добавить замены через .replace() с одним бэкслешем везде, как я писал изначально.
Спасибо. Работает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB