Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
46 / 46 / 10
Регистрация: 11.03.2014
Сообщений: 133

Программа для обновления объявлений. Начальный этап

31.03.2014, 08:36. Показов 5349. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Давно хотел написать программку со следующим функционалом. Как вы знаете, на многих сайтах с объявлениями о продаже-сдаче и т.п., когда даешь объявление, оно постепенно скатывается вниз списка.

Очень хочу написать программу, которой нужно будет подсовывать адрес объявления, а программа же будет заходить по этой ссылке, копировать всю информацию, стирать объявление и создавать новое.

Поскольку мой опыт программирования сводится к решению различных математических задач в Matlab и Python, а также недолгому администрированию небольшого сайта, прошу вас подсказать с чего начинать в данном вопросе, потому что тут я совсем новичок.

Хотелось бы узнать в первую очередь, годится ли для моей задачи Python? И соответственно куда копать дальше (какие библиотеки и т.д.). В общем кода я не прошу, хочу сам написать, а вот если кто может обозначить направление, буду очень благодарен!

P.s. Начал подобную тему в Java-разделе, но там не отвечают. Решил попытать счастье здесь, надеюсь на понимание
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2014, 08:36
Ответы с готовыми решениями:

Обновление объявлений на сайтах типа авито и т.п. Начальный этап
Всем привет! Давно хотел написать программку со следующим функционалом. Как вы знаете, на многих сайтах с объявлениями о...

Начальный этап освоения Silverlight
На каких задачах лучше изучать, что посоветуете ?

Создание программы для автоматического обновления объявлений на сайтах
Здравствуйте! Нужно вот что : Реализовать поиск целевой кнопки на странице. Вызвать у кнопки нажатие. Программа обновляет...

32
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 145
12.02.2016, 16:27
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от alex925 Посмотреть сообщение
Message: Element is
я не привык к мессэджам питона
alex925, блин а как сделать чтобы можно было с ним работать (с элементом)? хотелось бы без GUI запускать это...
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
12.02.2016, 16:32
Вообще у меня вот все работает на пример, есть поправить 1 косяк
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from selenium import webdriver
 
driver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("http://www.hh.ru")
 
email = driver.find_element_by_css_selector('label.login-input:nth-child(1) > span:nth-child(2) > input:nth-child(1)')
email.send_keys('ЯЩИК')
 
password = driver.find_element_by_css_selector('label.login-input:nth-child(2) > span:nth-child(2) > input:nth-child(1)')
password.send_keys("ПАРОЛЬ")
 
signin = driver.find_element_by_xpath('.//*[@id=\'js-disabled\']/body/div[3]/div/div[3]/div/div/div[2]/form/div[3]/input')
signin.click()
 
driver.implicitly_wait(3)
driver.get("http://krasnodar.hh.ru/applicant/resumes")
driver.implicitly_wait(3)
resume =  driver.find_element_by_xpath(".//*[@id='js-disabled']/body/div[3]/div[2]/div[2]/div[2]/div/div/span/a")
resume.click()
driver.implicitly_wait(3)
update_button = driver.find_element_by_xpath(".//*[@id='js-disabled']/body/div[3]/div[2]/div[5]/div[3]/div[2]/span")
update_button.click()
driver.quit()
0
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 145
12.02.2016, 16:37
alex925, у меня тоже, но так он GUI выдает)

Добавлено через 1 минуту
ю увидел ща проверю
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
12.02.2016, 16:37
Естественно выдает, ты ведь сам запускаешь браузер, естественно будет показываться его окно и по другому ни как!
0
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 145
12.02.2016, 16:43
alex925, да ладно никак, как-то можно ...
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
12.02.2016, 16:46
Цитата Сообщение от XTIPacko Посмотреть сообщение
да ладно никак, как-то можно
Используя этот инструмент НИКАК. Другой вопрос, что можно использоваться например QWebView из pyqt. Там можно не вызывать метод show у объекта и тогда окно не будет показываться.
0
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 145
12.02.2016, 17:25
alex925, ну Zarex как-то же сделал)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
12.02.2016, 19:11
Цитата Сообщение от XTIPacko Посмотреть сообщение
Zarex как-то же сделал)
Он ни где не писал, что хочет скрыть окно браузера.

Ты, занимаешься ерундой, потому что пытаешься заставить вещи работать так как они не должны работать. Ещё раз повторяю, ты выбрал неудачный для своих целей инструмент.
0
51 / 51 / 18
Регистрация: 03.12.2015
Сообщений: 167
12.02.2016, 19:15
phantomJS
0
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 145
13.02.2016, 10:26
Он ни где не писал,
Python
1
display = Display(visible=0, size=(1024, 768))
alex925, в коде он pyvirtualdisplay использовал смотри сообщение 17. То, что неудачное согласен. Я еще видел HTTP запрос просто отправляли с кода на Delphi. Более удачное, наверное не для моего уровня сейчас и времени схавает еще больше.
arctblake, да я пробывал phantomJS,но пришлось снапшот откатить..., чет система виснуть сильно зависать стала позже еще попробую
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
13.02.2016, 10:59
Цитата Сообщение от XTIPacko Посмотреть сообщение
чет система виснуть сильно зависать
Сомневаюсь, что это вина phantomJS
Цитата Сообщение от XTIPacko Посмотреть сообщение
Я еще видел HTTP запрос
Да, можно заюзать requests

Если убрать строку 31, то не окно отображаться не будет и это вариант решения без костылей
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import sys
from PyQt4 import QtCore, QtGui, QtWebKit
 
 
class Browser(QtWebKit.QWebView):
    def __init__(self, *arg, **args):
        QtWebKit.QWebView.__init__(self, *arg, **args)
 
        self.loadFinished.connect(self.load_complete)
 
    def auth(self):
        page = self.page().mainFrame().documentElement()
 
        user = page.findFirst('label.login-input:nth-child(1) > span:nth-child(2) > input:nth-child(1)')
        user.evaluateJavaScript("this.value='some email'")
 
        password = page.findFirst('label.login-input:nth-child(2) > span:nth-child(2) > input:nth-child(1)')
        password.evaluateJavaScript("this.value='some password'")
 
        page.findFirst('input.bloko-button_primary-minor').evaluateJavaScript('this.click()')
 
    def load_complete(self):
        page = self.page().mainFrame().documentElement()
 
        self.auth()
 
 
app = QtGui.QApplication(sys.argv)
b = Browser()
b.load(QtCore.QUrl('http://samara.hh.ru'))
b.show()
sys.exit(app.exec_())
0
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 145
13.02.2016, 11:14
alex925, я попробую спасибо) А как CSS путь извлекается?
просто ближайщая цель CCNP затем буду с питоном разбираться, а Ot я практически не знаю )
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
13.02.2016, 11:18
Цитата Сообщение от XTIPacko Посмотреть сообщение
А как CSS путь извлеается?
Банально через браузер (через отладчик), ну или можно ручками писать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.02.2016, 11:18

Программа для занесения объявлений в текстовый файл, управление объявлениями из текстового файла
Доброго времени суток. Необходимо создать программу которая выполняет такие функции: 1. Занесение объявления (строка текста) в...

Программа для обновления ОС.
помогите пожалуйста найти программу для обновления ос, чтоб на этой программе можно было выбирать какие именно обновления мне нужно...

Программа для обновления новостей
Есть несколько новостных сайтов по интересной мне тематике, можно как-то подключить их к программе какой-то, чтобы публикуемые на этих...

Программа для обновления отдельного приложения на Androide через ПК
Здравствуйте. Подскажите пожалуйста программу с помощью которого можно обновить отдельно одно взятое приложение на Android-е версии 4.2.2...

Бесплатная программа (ну или не совсем, но...) для обновления драйверов
существует ли?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru