Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 29, 2015 17:14:46

admon
Зарегистрирован: 2015-04-10
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

html парсер количества вакансий на hh+yandex

В коде выше и без этого работало. Может дело не в этом? разницы нет.

Офлайн

#2 Авг. 29, 2015 18:01:10

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

html парсер количества вакансий на hh+yandex

Тогда ищите по одному тэгу. А получается Вы в метод find_all() передаете тэг, который хотите найти, и следующим параметром атрибуты которые должны быть у этого тэга.

Вот Вам для старта, дальше сами разберетесь :

from urllib.request import urlopen
from bs4 import BeautifulSoup
url = "http://hh.ru/search/vacancy?clusters=true&enable_snippets=true&area=2"
data = urlopen(url)
soup = BeautifulSoup(data.read())
professional_area = soup("div", {"data-toggle": "professionalArea"})[0]
for item in professional_area.find_next("div"):
    for li in item.find_all("li", class_="clusters-list__item"):
        print(li)

Это элементы из раздела “Профобласть”. Чтобы смотреть по другим разделам смотрите параметр data-toggle у этого раздела и меняйте его в скрипте.

PS это 3-й питон.

Отредактировано ayb (Авг. 29, 2015 18:05:21)

Офлайн

#3 Авг. 29, 2015 18:44:12

admon
Зарегистрирован: 2015-04-10
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

html парсер количества вакансий на hh+yandex

Спасибо, попробую!

Офлайн

#4 Авг. 29, 2015 22:52:18

admon
Зарегистрирован: 2015-04-10
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

html парсер количества вакансий на hh+yandex

Получилось более-менее, осталось всего ничего добавить список из значений в строку по столбцам в гугл таблице

import gspread
from oauth2client.client import SignedJwtAssertionCredentials
json_key = json.load(open('gspread-8891908f3793.json'))
scope = ['https://spreadsheets.google.com/feeds'] 
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
gc = gspread.authorize(credentials)
sht1 = gc.openall()
val = sht1[0].cell(1, 2).value
print sht1
и снова ничего.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version