Найти - Пользователи
Полная версия: Парсинг погоды с RP5.RU
Начало » Data Mining » Парсинг погоды с RP5.RU
1
hvppydvddy
Всем привет. В Python совсем новичок, возникла необходимость стянуть некоторую информацию, решил попрактиковаться на пример стягивания погоды. Хочу поюзать именно либу Grab. Например с хабры тянет нормально по xpath, вот пример:
from grab import Grab
g = Grab()
g.go('http://habrahabr.ru/')
xpath = '/html/body/div[2]/div[3]/div[1]/h2'
simple = g.doc.select(xpath)
print(simple.text())
Да даже не только с хабры, потыкался по сайтам, много где срабатывает, а вот на живом примере с RP5 не очень что-то:
from grab import Grab
g = Grab()
g.go('http://rp5.ru/Weather_in_Moscow,_Russia')
xpath = '/html/body/table/tbody/tr[2]/td/div/div/div[2]/div[2]/div[12]/div[1]/div/span[1]'
simple = g.doc.select(xpath)
print(simple.text())
Xpath путь достаю дополнением Firebug для ФФ. Подскажите что делаю не так?
sander
hvppydvddy
зачем писать так
'/html/body/table/tbody/tr[2]/td/div/div/div[2]/div[2]/div[12]/div[1]/div/span[1]'
если почти у каждого елемента есть атрибут class или id? Вам нужно что-то вроде
'//div[@id="ArchTemp"]'
hvppydvddy
sander
Вроде сработало, только маленько не ту цифру тащит, но это я разберусь, видимо с таким же классом есть еще что-то, на 2 градуса привирает. А как можно доставать подобный путь? Может какое-нибудь расширение умеет?
sander
hvppydvddy
самый простой способ открыть исходник страницы и посмотреть, а если не хочется работать с xpath - есть BeatifulSoup
hvppydvddy
sander
Не, названия классов то понятно, тот же Firebug их отображает только в путь. У меня сложности именно в правильности набора, всякие нюансы типа // или @… Хотя наверное проще начитаться как рожать xpath))) Хотя мой вариант вроде же корректный
'/html/body/table/tbody/tr[2]/td/div/div/div[2]/div[2]/div[12]/div[1]/div/span[1]'
чем не xpath) только вот по нему отказалось фурычить.
hvppydvddy
sander
Все, разобрался, для Firebug есть еще один аддон, называется FirePath, он как раз формирует xpath в нужном виде.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB