Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 13, 2014 14:12:00

kazakoff64
Зарегистрирован: 2014-02-13
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Web парсинг

Привет пытаюсь сделать парсинг, делаю его первый раз.

#!/path/to/python
# -*- coding: utf8 -*-
from bs4 import BeautifulSoup
from urllib2 import urlopen
html_doc = urlopen('http://www.meteoservice.ru/weather/long/name/balakovo.html')
soup = BeautifulSoup(html_doc)
a = soup.body.findNext('td',"time").string
b = soup.body.find('div',"value")
c = soup.body.find('div',"value").span.string
print a,b,c



Не удается выцепить подчеркнутое значение ну короче температуру)

Отредактировано kazakoff64 (Фев. 13, 2014 14:12:55)

Офлайн

#2 Фев. 13, 2014 14:19:45

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Web парсинг

Забыл ещё внизу путь замазать синим маркером. Попробуй регекспом выцепить.



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Офлайн

#3 Фев. 13, 2014 14:23:19

kazakoff64
Зарегистрирован: 2014-02-13
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Web парсинг

Master_Sergius
Забыл ещё внизу путь замазать синим маркером. Попробуй регекспом выцепить.

Да я только название хотел замазать, неприличное название)

Офлайн

#4 Фев. 13, 2014 14:57:48

kazakoff64
Зарегистрирован: 2014-02-13
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Web парсинг

Пошел другим путем.

#!/path/to/python
# -*- coding: utf8 -*-
from bs4 import BeautifulSoup
from urllib2 import urlopen
html_doc = urlopen('http://informer.gismeteo.ru/rss/27612.xml')
soup = BeautifulSoup(html_doc)
print soup('item')[0].title.string
print soup('item')[0].description.string
print ''
print soup('item')[1].title.string
print soup('item')[1].description.string
print ''
print soup('item')[2].title.string
print soup('item')[2].description.string
print ''
print soup('item')[3].title.string
print soup('item')[3].description.string

Офлайн

#5 Фев. 13, 2014 14:58:40

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Web парсинг

>>> from grab import Grab
>>> g = Grab()
>>> g.go('http://www.meteoservice.ru/weather/long/name/balakovo.html')
<grab.response.Response object at 0x29349f0>
>>> print g.doc.select('//td[@class="temperature"]/div[@class="value"]').text()
-1...0°

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version