Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 5, 2013 16:35:27

Stepe
Зарегистрирован: 2013-09-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг сайта часть 2

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

import urllib
import urllib.request as req
import requests
from bs4 import BeautifulSoup
url = "http://rp5.ru/%D0%9F%D0%BE%D0%B3%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B4%D0%B0%D1%80%D0%B5,_%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B4%D0%B0%D1%80%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D1%80%D0%B0%D0%B9"
proxy=req.ProxyHandler({'http':r'http://@10.5.45.250:3128'})
auth = req.HTTPBasicAuthHandler()
opener = req.build_opener(proxy, auth, req.HTTPHandler)
req.install_opener(opener)
conn = req.urlopen(url)
soup = BeautifulSoup(conn.read(),from_encoding="utf-8")
test = soup.findAll(name = 'td' , attrs = {'class': 'd underlineRow'})
for t in soup.findAll(name = 'td' , attrs = {'class': 'd underlineRow'}):
    print(t)

А вот код html который выгрузить не получается…

[code html] <td colspan="2" class="d underlineRow">16:00</td><td colspan="2" class="n2 underlineRow">22:00</td><td colspan="2" class="n underlineRow">04:00</td><td colspan="2" class="d2 underlineRow">10:00</td><td colspan="2" class="d2 underlineRow">16:00</td><td colspan="2" class="n2 underlineRow">22:00</td><td colspan="2" class="n underlineRow">04:00</td><td colspan="2" class="d2 underlineRow">10:00</td><td colspan="2" class="d2 underlineRow">16:00</td><td colspan="2" class="n2 underlineRow">22:00</td><td colspan="2" class="n underlineRow">04:00</td><td colspan="2" class="d2 underlineRow">10:00</td><td colspan="2" class="d2 underlineRow">16:00</td><td colspan="2" class="n2 underlineRow">22:00</td><td colspan="2" class="n underlineRow">04:00</td><td colspan="2" class="d2 underlineRow">10:00</td><td colspan="2" class="d2 underlineRow">16:00</td><td colspan="2" class="n2 underlineRow">22:00</td><td colspan="2" class="n underlineRow">04:00</td><td colspan="2" class="d2 underlineRow">10:00</td><td colspan="2" class="d2 underlineRow">16:00</td><td colspan="2" class="n2 underlineRow">22:00</td><td colspan="2" class="n underlineRow">04:00</td>

[/code]

Выгрузить надо только время…. Помогите пожалуйста.

Офлайн

#2 Сен. 5, 2013 17:00:52

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Парсинг сайта часть 2

Stepe
что ты хочешь получить ?

Офлайн

#3 Сен. 5, 2013 17:07:11

Stepe
Зарегистрирован: 2013-09-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг сайта часть 2

Singularity
что ты хочешь получить ?
Хочу получить время. например 16:00
я имею время которое расположенное в тэги <td colspan=“2” class=“d underlineRow”>16:00</td>

Отредактировано Stepe (Сен. 5, 2013 17:08:12)

Офлайн

#4 Сен. 6, 2013 11:11:01

zahar
Зарегистрирован: 2013-07-15
Сообщения: 39
Репутация: +  3  -
Профиль   Отправить e-mail  

Парсинг сайта часть 2

может быть так:

list = ('<td colspan="2" class="d underlineRow">16:00</td><td colspan="2" class="n2 underlineRow">22:00</td><td colspan="2" ')
x = re.findall('[0-9]+:[0-9]+', list)

Отредактировано zahar (Сен. 6, 2013 11:27:15)

Офлайн

#5 Сен. 6, 2013 22:06:38

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Парсинг сайта часть 2

Офлайн

#6 Сен. 9, 2013 23:07:54

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

Парсинг сайта часть 2

zahar
0-9]+:
Тогда уже
re.findall(r'<td .*? class=".*?underlineRow.*?">(\d+\:\d+)', list)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version