Задача: получить количество вакансий по определенным городам
rabota.yandex.ru/search?rid=225 ссылка на страницу "Россия", rid (region id) = 225 В идеале, нужно узнать эти rid для каждого города и в цикле меняя url собирать данные, но rid вытащить не получается пробовал с помощью selenium вписывать название городов в графу и получать данные, но допустим нельзя выбрать город "Самара" есть только "Самара, Самарская область" как вариант для поиска в яндексе, а когда вписываешь это с помощью send_keys запрос не проходит
from selenium import webdriver
import pandas as pd
import re
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
table=pd.read_html('http://dic.academic.ru/dic.nsf/ruwiki/685243')
table=table[1]
town_list=table[2]
town_list=town_list[1:len(town_list)]
data = pd.DataFrame(index=range((len(town_list),3)),columns=['city', 'url','volume'])
data['url'].apply(str)
browser = webdriver.Chrome()
browser.get('https://rabota.yandex.ru/search?rid=225')
form = \
browser.find_element_by_name('rid')
wait = WebDriverWait(browser, 30, ignored_exceptions=1)
for i in range(0,len(town_list)):
url0 = browser.current_url
form.clear()
form.send_keys(town_list.iat[i])
#print (town_list.iat[i])
time.sleep(2)
form.submit()
wait.until(lambda browser: browser.current_url != url0)
data.iloc[i,1] = browser.current_url
#print ( browser.current_url)
был план такой, чтобы вытащить так ссылки на страницы с вакансиями по нужным городам а потом вытащить из каждой страницы уже число вакансий
int(re.split(' ', browser.find_element_by_xpath("//div[contains(text(), 'вакансий')]").text)[0])
Если посмотреть в коде страницы в графе network (так называется в хроме), то в момент ввода города в поисковую строку появляется запрос "rabota.yandex.ru/gate/suggest/regions" где лежит response, со словариком, в котором есть как раз rid городов Каааак получиииить его)) ведь получив список городов, я бы просто прошелся в цикле, собрав все что мне нужно)) Help!
Добрый день! У меня тоже был такой опыт. Смотрите, вам нужно в вашем python файле сделать запрос на данные, а именно:
import requests
abc = requests.get('https://yandex.ru/yaca/geo.c2n')
menu = abc.c2n()
Добрый день. Я не уверен, что правильно понял Ваш вопрос. Но список с rid городов (или "регионов") доступен по этой ссылке: https://yandex.ru/yaca/geo.c2n Ссылку взял тут: https://tech.yandex.ru/xml/doc/dg/reference/regions-docpage/
#!/usr/bin/env python
import requests
r = requests.get('https://yandex.ru/yaca/geo.c2n')
r.raise_for_status()
lines = r.content.decode(r.apparent_encoding).splitlines()
regions = dict(line.split('\t') for line in lines)
{'0': 'Регионы',
'1': 'Москва и область',
'10': 'Орел',
'100': 'Франкфурт-на-Майне',
'10002': 'Северная Америка',
...,
'98': 'Кельн',
'983': 'Турция',
'99': 'Мюнхен',
'994': 'Индия',
'995': 'Таиланд'}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Проблема в том что есть контейнер, которому со временем может быть присвоена длина 0, но глобальный контейнер сохраняет эти элементы будто...
Нужно чтобы когда пользователь направил курсор на button1 автоматически отобразилась panel1 и когда курсор уйдет с button1 и panel1, то panel1 должна скрыться
Имея данный алгоритм, почему-то большую часть показывает x32У меня стоит x64
Пытаюсь сделать игру на Android, при клике по кнопке для перехода на другую сцену выдает ошибку: