Latest posts on странное поведение библиотеки requests topichttps://python.su/forum/topic/38118/2019-12-06T15:45:44+02:00Веб-технологии :: Web :: странное поведение библиотеки requests
2019-12-06T15:45:44+02:00FishHook205968<blockquote><em>freeman86</em><br/>Хотите сказать что они генерируются после того, как requests уже считала страницу?</blockquote>веб-сервер получает запрос и отправляет какой-то ответ. Ответом может быть любой текст. Вот этот текст и получает requests. Этой библиотеке вообще плевать на содержимое. Браузер же работает с HTML и воспринимает собержимое ответа как HTML. После загрузки браузер парсит HTML в DOM и дальше с ним работает. В HTML может быть встроен JS-скрипт, который браузер выполнит после загрузки страницы и соответствующим образом изменит DOM. То что вы видите в отладчике браузера может вовсе не соответствовать тому тексту, который отправил веб-сервер.
Веб-технологии :: Web :: странное поведение библиотеки requests
2019-12-06T10:16:29+02:00freeman86205958<blockquote><em>bw</em><br/>requests ничегоне добавляет и не убирает, в отличие от браузера, так свёрстана страница, добро пожаловать в мир рукожопых веб-макак. Попробуй пропустить через lxml, он может исправить эту ситуацию (раз bs не может, и посмотри ещё сам bs, возможно ему можно вкл. дополнительные мозги). Можно так же html5lib посмотреть, он должен быть максимально точным, но медленным. Если скорость не нужна, бери сразу его.<strong>Про третий вариант: знаешь что такое JS?</strong>..bw</blockquote>Хотите сказать что они генерируются после того, как requests уже считала страницу?
Веб-технологии :: Web :: странное поведение библиотеки requests
2019-12-05T06:28:14+02:00bw205928<strong>requests</strong> ничегоне добавляет и не убирает, в отличие от браузера, так свёрстана страница, добро пожаловать в мир рукожопых веб-макак. Попробуй пропустить через lxml, он может исправить эту ситуацию (раз bs не может, и посмотри ещё сам bs, возможно ему можно вкл. дополнительные мозги). Можно так же html5lib посмотреть, он должен быть максимально точным, но медленным. Если скорость не нужна, бери сразу его.<br/><br/>Про третий вариант: знаешь что такое JS?<br/><br/>..bw
Веб-технологии :: Web :: странное поведение библиотеки requests
2019-12-04T09:38:19+02:00freeman86205907<blockquote><em>py.user.next</em><br/>Там на фото в бразузере есть “== $0”, а в данных нет этой подстроки. Уверен, что это один и тот же фрагмент изображён?</blockquote>Абсолютно уверен. Более того, есть третий вариант этой верстки, если смотреть исходный код, который получает браузер. И там тег <p></p> вовсе не пустой. А так, вы сами можете найти это фрагмент на Авито. Забиваете в поисковой строке любой товар, нажимаете поиск и все товары, которые появятся, будут состоять из блоков. Тот фрагмент, который я показываю, содержит информацию о метро и как давно создано объявление.
Веб-технологии :: Web :: странное поведение библиотеки requests
2019-12-04T01:58:14+02:00py.user.next205900Там на фото в бразузере есть “== $0”, а в данных нет этой подстроки. Уверен, что это один и тот же фрагмент изображён?
Веб-технологии :: Web :: странное поведение библиотеки requests
2019-12-03T10:46:58+02:00FishHook205877<strong>freeman86</strong><br/>Предположу, что requests как раз отдает всё правильно, как и было задумано. Не её задача ковыряться в HTML. Именно так страницу и сверстал её автор. Просто браузер не смог распарсить (ну потому что тут явная ошибка) и попытался ошибку исправить (ковыряться в HTML как раз задача браузера).
Веб-технологии :: Web :: странное поведение библиотеки requests
2019-12-02T10:06:44+02:00freeman86205851Доброго времени суток! Обнаружил странную особенность библиотеки <strong>requests</strong>. Заметил это случайно, когда делал для собственного образования парсер сайта avito с помощью библиотеки bs4. Ниже приведу скриншот. На первом скрине (белый фон) часть странички avito, где выделено два тега <p></p>. Библиотека <strong>requests</strong> читает эти теги странным образом, выкидывая первый открывающий тэг. Это есть на фтором скриншоте. А далее ошибка тянется в bs4 с соответствующими последствиями.