0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23

Парсер html: вытащить весь текст, который в объявлениях

03.05.2015, 16:50. Показов 8017. Ответов 52
Метки нет (Все метки)

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

Нужна помощь в парсере нтмл
Вот силка
"http://vashmagazin.ua/nerukhomist/kvartyry/sykhivskyy-rayon/"

Нужно витащить весь текст которий в обявлениях
как внизу:

в. Антоненка

кімнат: 1
панель 4/9 40/20/10
742 500
33 000 $
825 $
ціна:
екв:
за м2:

(067) 676-7732 (063) 300-1879

Однокімнатну квартиру у Львові, в. Антоненка. житловий стан, паркет, лоджія з великоі кімнати, вигоди ізол., вільна, зелений двір, торг.


Пробивал разние библиотеки но както глубоко немог дойти .

Спасибо зарание!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.05.2015, 16:50
Ответы с готовыми решениями:

Парсер html, вытащить текст класса
Вытаскиваю html, но не могу понять как забрать порт прокси, вроде нашёл нужный селектор, но когда беру текст этого тега и класса, то...

Получить весь текст HTML-страницы, который находится между тегами, кроме заголовка
Здравствуйте, возникла задача отпарсить html. Конкретно, взять весь текст, который находится между тегами, кроме заголовка. Нужно написать...

Вытащить весь текст в тегах h2
подскажите как вытащить весь текст между <h2>блабла1</h2> и <h2>блабла2</h2> пытаюсь составить регулярки но них не получается... ...

52
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 15:52  [ТС]
Студворк — интернет-сервис помощи студентам
alex925
orm разве не на класах делаетса?
например как в django модели
или ти про web2py, SQLAlchemy?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
04.05.2015, 16:23
Цитата Сообщение от makc1902 Посмотреть сообщение
orm разве не на класах делаетса?
Не совсем. Во 1 в SQLAlchemy можно заранее не объявлять структуру таблиц с помощью классов, во 2 если даже объявлять таблицы с помощью классов, там много ума не надо. Просто объявил класс (различий по сравнению с объявлением функции можно сказать нет), а дальше внутри перечислил столбцы таблицы (тоже самое как объявление переменных).
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 17:39  [ТС]
alex925
Ти об SQLAlchemy?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.05.2015, 17:50
Цитата Сообщение от makc1902 Посмотреть сообщение
я витаскиваю тока цену в доларах
Python
1
price = parser.cssselect('table.ogolosh-avto-sp tbody tr td div.price_ner div.right nobr:nth-child(3)')
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 20:16  [ТС]
Но как мне ети виводи впихнуть в бд ?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.05.2015, 20:24
Выбор не такой уж и большой - или orm или чистый sql
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 20:39  [ТС]
Ето я уже понял
я хочу в sqlite3 впихнуть всьо без orm
но как в цикле зделать привельний инсерт
есть например такая таблица
cur.execute('CREATE TABLE qwerty (id INTEGER PRIMARY KEY, street VARCHAR(100), number VARCHAR(50), price_1 VARCHAR(100), price VARCHAR(100), note VARCHAR(100))')
а в цикле фор такой инсерт
cur.execute('INSERT INTO qwerty (id, street, number, price_1, price, note) VALUES(NULL, street.i, number.i, price_1.i, price.i, note.i)')
добавить по простому i некатит
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.05.2015, 21:18
SQL
1
2
3
4
5
6
CREATE TABLE vashmagazin (
  street CHAR(128),
  NUMBER CHAR(128),
  price CHAR(128),
  note CHAR(128)
);
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
#!/usr/bin/env python
 
import lxml.html
import requests
import sqlite3
 
page = requests.get('http://vashmagazin.ua/nerukhomist/kvartyry/sykhivskyy-rayon/').text
parser = lxml.html.fromstring(page)
 
street = parser.cssselect('table.ogolosh-avto-sp tbody tr strong')
number = parser.cssselect('table.ogolosh-avto-sp tbody tr td.rowspan-fix')
price = parser.cssselect('table.ogolosh-avto-sp tbody tr td div.price_ner div.right nobr:nth-child(3)')
note = parser.cssselect('div.text_hidden_def')
 
template = 'street: {}, number: {}, price: {}, note: {}'
 
conn = sqlite3.connect('/Users/jabbson/Documents/testdb.db')
c = conn.cursor()
 
for i in zip(street, number, price, note):
    c.execute('''INSERT INTO vashmagazin VALUES(?,?,?,?)''',
              (i[0].text_content().strip(), i[1].text_content().strip(), i[2].text_content().strip(), i[3].text_content().strip()))
 
conn.commit()
conn.close()
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.05.2015, 22:07
если с id:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python
 
import lxml.html
import requests
import sqlite3
 
page = requests.get('http://vashmagazin.ua/nerukhomist/kvartyry/sykhivskyy-rayon/').text
parser = lxml.html.fromstring(page)
 
street = parser.cssselect('table.ogolosh-avto-sp tbody tr strong')
number = parser.cssselect('table.ogolosh-avto-sp tbody tr td.rowspan-fix')
price = parser.cssselect('table.ogolosh-avto-sp tbody tr td div.price_ner div.right nobr:nth-child(3)')
note = parser.cssselect('div.text_hidden_def')
 
conn = sqlite3.connect('/Users/jabbson/Documents/testdb.db')
c = conn.cursor()
 
for i in zip(street, number, price, note):
    c.execute('''INSERT INTO vashmagazin VALUES(?,?,?,?,?)''',
              (None, i[0].text_content().strip(), i[1].text_content().strip(), i[2].text_content().strip(), i[3].text_content().strip()))
 
conn.commit()
conn.close()
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 22:27  [ТС]
Jabbson, Просто огромное спасибо
У меня почему то заносит e\u0434\u043d\u043e\u043a\u0456\u043c\u0 43d\u0430\u0442\u043d\u0443 как мне их перевести ?
пробивал encode('utf-8') не помогло
а и почему я не могу роскрить картинку твою?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.05.2015, 22:28
какая версия python?
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 22:35  [ТС]
2.7.6
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.05.2015, 22:35
Есть возможность использовать 3?
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 22:51  [ТС]
в убунту все настроено под вторую
А если запустить на другом компе под 3 то юникод пропадет??
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.05.2015, 22:52
Ничто не мешает иметь и 2, и 3 версию параллельно.
Да, скорее всего пропадет проблема.
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 23:00  [ТС]
а во второй сделать не получится?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.05.2015, 23:19
Получится, конечно, но для этого взываем к alex925!
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
04.05.2015, 23:19  [ТС]
Почему я не могу развернуть твое фото??
Мне прав нехватает??
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
05.05.2015, 00:29
Не знаю, у меня все открывается.
https://www.dropbox.com/s/zr63... 2.png?dl=0

Добавлено через 1 час 6 минут
вот так красивее вставка выглядит
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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import lxml.html
import requests
import sqlite3
 
page = requests.get('http://vashmagazin.ua/nerukhomist/kvartyry/sykhivskyy-rayon/').text
parser = lxml.html.fromstring(page)
 
street = parser.cssselect('table.ogolosh-avto-sp tbody tr strong')
number = parser.cssselect('table.ogolosh-avto-sp tbody tr td.rowspan-fix')
price = parser.cssselect('table.ogolosh-avto-sp tbody tr td div.price_ner div.right nobr:nth-child(3)')
note = parser.cssselect('div.text_hidden_def')
 
conn = sqlite3.connect('/Users/jabbson/Documents/testdb.db')
c = conn.cursor()
 
template = 'INSERT INTO vashmagazin (street, number, price, note) VALUES ("{}","{}","{}","{}")'
 
for i in zip(street, number, price, note):
    c.execute(template.format(*[j.text_content().strip().replace('"', '') for j in i]))
 
conn.commit()
conn.close()
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 23
05.05.2015, 00:35  [ТС]
У меня стоит 3 версия когда я в консоле запускаю python3
то виводит версию 3.4
И что делать дальше с етим e\u0434\u043d\u043e\u043a\u0456\u043c\u0 43d\u0430\u0442\u043d\u0443???

Добавлено через 5 минут
у меня просто пакети все ставятса в python 2.7
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2015, 00:35

Как вытащить весь текст из сайта?
Здравствуйте,можно ли как как то вытащить весь текст с сайта, тегов и всякого г**на много где текста находятся, и парсить всё просто...

Как вытащить весь текст из TextBlock?
В приложении WPF в XAML определен TextBlock, затем в коде с# предпринята попытка показать текст из него с помощью MessageBox.Show(), но в...

Не получается вытащить весь текст из xml-документа
Доброго времени суток. Использую либу tinyxml, на c++, нужно вытащить абсолютно весь текст. Возникла мысль отключить все теги и просто...

Как вытащить текст со Html странички? Html Agility Pack
Всё очень просто как вытащить текст с Html странички с помощью Html Agility Pack? К примеру у нас есть страничка того же сайта ...

Вытащить текст из HTML
Дан HTML <div class="answer" dir="ltr">какой- то текст</div> Подскажите как вытащить текст из этого кода, причем он может...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru