|
0 / 0 / 0
Регистрация: 09.12.2020
Сообщений: 8
|
|||||||||||
Парсинг сайта по вакансиям на python26.01.2023, 17:02. Показов 3485. Ответов 16
Всем привет, пробую себя в парсинге впервые, до определенного момента все шло хорошо, но когда нужно вывести названия вакансий в виде текста, мне приходит ответ "200", хотя должны появится названия вакансий с первой страницы сайта, над которым я работаю, если кто-то знает, в чем проблема буду очень благодарна)
Вот код первого файла "main.py":
0
|
|||||||||||
| 26.01.2023, 17:02 | |
|
Ответы с готовыми решениями:
16
Парсинг сайта на python |
|
1 / 1 / 0
Регистрация: 27.01.2023
Сообщений: 6
|
||||||||||||||||||||||||||
| 27.01.2023, 12:31 | ||||||||||||||||||||||||||
|
cybers_, Добрый день. Попробую помочь!
Проблема в том, что вы добавляете номер страницы к URL-адресу не в том месте. В 'extract_hh_jobs' функции вы добавляете '&page=0' в конец URL-адреса, но он должен добавляться в конец URL переменной, которую вы определили ранее. Вместо этого:
Кроме того, вы используете переменную jobs, но, похоже, ничего к ней не добавляете. В цикле for вы должны добавить result.find('a').text к списку заданий.
1
|
||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 09.12.2020
Сообщений: 8
|
||||||
| 27.01.2023, 12:56 [ТС] | ||||||
|
Вроде бы все поменяла, но результат тот же...я тут добавила еще функцию "extract_job(html)", чтобы получить названия компаний и их местоположение, но не работает(((
Загрузила скрин, вот в текстовом формате:
0
|
||||||
|
1 / 1 / 0
Регистрация: 27.01.2023
Сообщений: 6
|
|
| 27.01.2023, 13:00 | |
|
Попробуйте изменить строку jobs.append(result.find('a').text) на jobs.append(extract_job(result)). Кроме того, в функции extract_job необходимо использовать html.find('a')['href'] для получения ссылки вместо html.find('a').text['href']
0
|
|
|
0 / 0 / 0
Регистрация: 09.12.2020
Сообщений: 8
|
|
| 27.01.2023, 13:20 [ТС] | |
|
Видимо не заработает...
Спасибо за помощь)
0
|
|
|
1 / 1 / 0
Регистрация: 27.01.2023
Сообщений: 6
|
|
| 27.01.2023, 13:28 | |
|
cybers_,
Похоже, что веб-сайт, который вы пытаетесь парсить, может иметь некоторые механизмы защиты от очистки, поэтому вы получаете код состояния «200». Некоторые веб-сайты блокируют или ограничивают доступ к своим страницам, если обнаружат, что запросы исходят от скрипта или бота. Одним из решений этой проблемы является использование метода, называемого «веб-скрапинг с помощью безголового браузера», который позволяет вам взаимодействовать с веб-сайтом, как если бы вы были реальным пользователем, использующим веб-браузер. Это можно сделать с помощью таких инструментов, как Selenium или Puppeteer, которые позволяют программно управлять веб-браузером и обходить механизмы защиты от парсинга. Другим решением является использование API парсинга веб-страниц, такого как Scrapinghub, который позволяет вам парсить веб-сайты, не беспокоясь о механизмах защиты от парсинга. В качестве альтернативы вы можете попробовать использовать другой веб-сайт или добавить User-Agentв заголовки, чтобы это выглядело так, как будто вы просматриваете веб-сайт с помощью браузера.
0
|
|
|
0 / 0 / 0
Регистрация: 09.12.2020
Сообщений: 8
|
||||||
| 27.01.2023, 13:32 [ТС] | ||||||
|
В этой части кода, как раз использую User-Agent:
0
|
||||||
|
1 / 1 / 0
Регистрация: 27.01.2023
Сообщений: 6
|
|||||||||||
| 27.01.2023, 13:46 | |||||||||||
|
cybers_,
Похоже, проблема в том, что вы не вызываете функцию extract_job() в своей функции extract_hh_jobs(). Вместо этого вы добавляете результат result.find('a').text в список заданий. Попробуйте вместо этого вызвать функцию extract_job() и добавить результат в джоб лист. Вот пример того, как вы можете вызвать функцию extract_job():
cybers_, Также попробуйте такой вариант кода.
Обновлен User-Agent заголовок до действительного, который обычно используется веб-браузерами. Исправлена extract_max_pageфункция правильного извлечения максимального номера страницы. В конце добавил оператор печати для печати jobs списка. По мелочи, но, может, заработает.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 09.12.2020
Сообщений: 8
|
|
| 27.01.2023, 15:14 [ТС] | |
|
Прогнала код, который вы отправили, теперь в консоли выводится с 1 по 4 страницы)
0
|
|
|
1 / 1 / 0
Регистрация: 27.01.2023
Сообщений: 6
|
||||||
| 27.01.2023, 15:36 | ||||||
|
cybers_,
Отлично, похоже проблема с невозможностью извлечь максимальное количество страниц решена. Теперь вы можете использовать эту extract_max_page() функцию, чтобы получить общее количество страниц и использовать это число для извлечения заданий со всех страниц. Вот переписанный код (полностью), который должен работать:
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.12.2020
Сообщений: 8
|
|
| 27.01.2023, 16:35 [ТС] | |
|
Забавно получается, но результат тот же, как и в предыдущем скрине...Видимо придется пробовать что-то другое, как вы и писали выше
0
|
|
|
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
|
|
| 29.01.2023, 05:40 | |
|
Не по теме: Welemir1, мб на русский гугл переводчиком переводит? Я б заманался все комментарии удалять из кода гпт
0
|
|
|
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
|
|
| 29.01.2023, 09:09 | |
|
Welemir1, Ну оно вполне возможно что нейронкой генерируют ответы, удобный фарм репутации. Другое дело, что даже не читают и не проверяют полезность ответа...
0
|
|
|
73 / 55 / 25
Регистрация: 12.07.2014
Сообщений: 216
|
|
| 01.02.2023, 13:00 | |
|
По вашему коду, вы выполняете запрос на сайт hh.ru, используя библиотеку requests, после чего парсите HTML-страницу с помощью BeautifulSoup. В вашей функции extract_hh_jobs вы выполняете запрос только для первой страницы (&page=0) и выводите статус кода ответа, а затем выводите текст тайтлов вакансий.
Так как статус код ответа равен 200, это означает, что ваш запрос был успешным и сервер вернул HTML-страницу. Поэтому проблема может быть связана с неправильным парсингом HTML-страницы с помощью BeautifulSoup.
0
|
|
| 01.02.2023, 13:00 | |
|
Помогаю со студенческими работами здесь
17
Парсинг сайта на python Парсинг данных с сайта с авторизацией на Python Парсинг на Python динамического элемента из POST запроса сайта Парсинг генерируемого массива данных с сайта в Excel на Python Организовать поиск по вакансиям с использованием подпрограмм Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|