Форум сайта python.su
0
Добрый день, возможно, кто-то подскажет, как запарсить данные с сайта
Чтобы было сначала название вакансии, потом за ней шла (в одну строку) сумма зарплаты?
Первая часть отрабатывает, вторая нет….
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()
Офлайн
2
Там 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¤cy_code=BYR&area=16
Офлайн
857
AntonpythonНадо сначала выбрать узлы с записями. Подать страницу и получить последовательность узлов.
как запарсить данные с сайта
Офлайн