|
0 / 0 / 0
Регистрация: 09.12.2020
Сообщений: 8
|
|||||||||||
Парсинг сайта по вакансиям на python26.01.2023, 17:02. Показов 3232. Ответов 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 Организовать поиск по вакансиям с использованием подпрограмм Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|