Найти - Пользователи
Полная версия: Парсинг значений со страницы
Начало » Python для новичков » Парсинг значений со страницы
1
Antonpython
Добрый день, возможно, кто-то подскажет, как запарсить данные с сайта

Чтобы было сначала название вакансии, потом за ней шла (в одну строку) сумма зарплаты?
Первая часть отрабатывает, вторая нет….

import requests
import urllib
from bs4 import BeautifulSoup
import csv
from datetime import datetime
from multiprocessing import Pool

def get_html(url):
response = urllib.request.urlopen(url)
return response.read()

def parse(html):
soup = BeautifulSoup(html, "lxml")
table = soup.find('table', class_='l l_auto')

vacancies = []

for row in table.find_all('div', class_='search-result-description__item search-result-description__item_primary'):
cols = row.find_all('div', class_='search-result-item__head')

vacancies.append({
'title': cols[0].a.text,
})

for vacancy in vacancies:
print(vacancy)

salaries = []

for row in table.find_all('div', class_='search-result-description__item search-result-description__item_primary'):
cols2 = row.find_all('div', class_='b-vacancy-list-salary')

salaries.append({
'categories': cols2[0].div.find_all('meta', class_='baseSalary')
})

for salary in salaries:
print(salary)

def main():
parse(get_html('https://jobs.tut.by/search/vacancy?text=%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82&only_with_salary=false&area=16&enable_snippets=true&clusters=true&salary='))

if __name__ == '__main__':
main()
kazaff
Там RSS есть, из нее вроде легче напарсить.
https://jobs.tut.by/search/vacancy/rss?text=%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82&enable_snippets=true&clusters=true&currency_code=BYR&area=16
py.user.next
Antonpython
как запарсить данные с сайта
Надо сначала выбрать узлы с записями. Подать страницу и получить последовательность узлов.
Потом надо сделать обработчик узла. Подать узел и получить поле название и поле зарплата.
Потом надо сделать получатель поля названия из узла. Подать узел и получить поле название.
Потом надо сделать получатель поля зарплаты из узла. Подать узел и получить поле зарплата.

Вот потом это всё вместе соединяешь и получится понятная структура. А сейчас у тебя мешанина всего со всем.
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