Уведомления

Группа в Telegram: @pythonsu

#1 Май 12, 2011 19:47:09

conSTANta
От:
Зарегистрирован: 2011-03-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

Уважаемые знатоки. Нужно загрузить страничку http://afisha.shadrinsk.info. И выдрать из нее инфу которая находится в тегах <table>text</table>.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Афиша Шадринска на сегодня</title>

<link rel="stylesheet" type="text/css" media="all" href="/css/style.min.css?v=1" charset="utf-8">
<script type="text/javascript" src="/lib/swfobject.js"></script>

</head>
<body id="today">


<div class="container_22">
<ul id="servicenav">
<li><a href="http://www.shadrinsk.info/">Шадринск.Инфо</a></li>
<li><a href="http://catalog.shadrinsk.info">Каталог организаций</a></li>
<li><a href="http://today.shadrinsk.info">Чем прекрасен этот день?</a></li>
<li><a href="http://nebuzilka.ru">НеБузилка</a></li>
<li><a href="http://tv.shadrinsk.info">ТВ-программа</a></li>

</ul>
<div id="header">
<h1 class="grid_4 prefix_1">Афиша</h1>
<ul id="mainmenu">
<li class="active grid_5"><a href="/">На сегодня</a></li>
<li class="grid_5"><a href="/week/">На неделю</a></li>
</ul>

</div>

<div id="content">
<a class="grid_1" id="prev_day" href="/2011/5/11/" title="Афиша на 11 мая 2011 года" rel="nofollow">&larr;</a>
<h2 class="prefix_4 grid_14 suffix_1">Сегодня 12 мая 2011 года, четверг</h2>
<a class="grid_1" id="next_day" href="/2011/5/13/" title="Афиша на 13 мая 2011 года" rel="nofollow">&rarr;</a>


<table class="grid_22 prefix_1">
<tbody>
<tr>
<td class="time">15:00</td>

<td class="event">
<a href="/event/607/">Мегамозг </a><br>
<span class="duration">Продолжительность: 01:35</span></td>
<td class="place"><a href="/place/68/">Кинотеатр &quot;3D Focus&quot;</a></td>
</tr>

<tr>

<td class="time">16:00</td>
<td class="event">
<a href="/event/956/">Воды слонам!</a><br>
<span class="duration">Продолжительность: 01:50</span></td>
<td class="place"><a href="/place/2/">ЦДК &quot;Октябрь&quot;</a></td>
</tr>

<tr>
<td class="time">17:00</td>
<td class="event">
<a href="/event/982/">Балбесы</a><br>
<span class="duration">Продолжительность: 01:15</span></td>
<td class="place"><a href="/place/68/">Кинотеатр &quot;3D Focus&quot;</a></td>

</tr>

<tr>
<td class="time">19:00</td>
<td class="event">
<a href="/event/744/">Санктум</a><br>
<span class="duration">Продолжительность: 02:49</span></td>
<td class="place"><a href="/place/68/">Кинотеатр &quot;3D Focus&quot;</a></td>

</tr>

<tr>
<td class="time">&nbsp;</td>
<td class="event">
<a href="/event/955/">Форсаж-5</a><br>
<span class="duration">Продолжительность: 02:10</span></td>
<td class="place"><a href="/place/2/">ЦДК &quot;Октябрь&quot;</a></td>

</tr>

<tr>
<td class="time">21:00</td>
<td class="event">
<a href="/event/984/">Территория тьмы</a><br>
<span class="duration">Продолжительность: 01:28</span></td>
<td class="place"><a href="/place/68/">Кинотеатр &quot;3D Focus&quot;</a></td>

</tr>
</tbody>
</table>

<div class="prefix_3 grid_19"><a class="add-row" href="/event/add/">Добавить событие</a></div>


</div>

<div id="footer" class="foot">
<ul class="menu">

<li><a href="/">Афиша на сегодня</a></li>

<li><a href="/week/">Афиша на неделю</a></li>
<li><a href="/event/add/">Добавить событие</a></li>

<li><a href="/feedback/">Обратная связь</a></li>
</ul>
<p>&copy; 2011 <a class="big" href="http://shadrinsk.info">Шадринск.Инфо</a>. <a href="/">Афиша</a> культурных и спортивных мероприятий города Шадринска.</p>

</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-10790178-1");
pageTracker._trackPageview();
} catch(err) {}
</script>


</div>
</body>
</html>
с помощью urlib и затем парсить вроде так понял, но есть может у кого нибудь пример? Или кто нибудь знаком как это делается. Заранее благодарю.



Офлайн

#2 Май 12, 2011 22:47:01

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

можно как-то так:

import urllib2
import re

sock = urllib2.urlopen('http://afisha.shadrinsk.info')
data = sock.read()
sock.close()

res = re.findall('<table.+?>(.+?)</table>', data, re.DOTALL)
print res[0].decode('utf-8')
<tbody>
<tr>
<td class="time">13:00</td>
<td class="event">
<a href="/event/985/">Мартышки в космосе: Ответный удар </a><br>
...
...
<span class="duration">Продолжительность: 01:45</span></td>
<td class="place"><a href="/place/2/">ЦДК &quot;Октябрь&quot;</a></td>
</tr>
</tbody>



Отредактировано (Май 12, 2011 22:49:03)

Офлайн

#3 Май 13, 2011 07:33:04

conSTANta
От:
Зарегистрирован: 2011-03-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

pill
можно как-то так:

import urllib2
import re

sock = urllib2.urlopen('http://afisha.shadrinsk.info')
data = sock.read()
sock.close()

res = re.findall('<table.+?>(.+?)</table>', data, re.DOTALL)
print res[0].decode('utf-8')
<tbody>
<tr>
<td class=“time”>13:00</td>
<td class=“event”>
<a href=“/event/985/”>Мартышки в космосе: Ответный удар </a><br>


<span class=“duration”>Продолжительность: 01:45</span></td>
<td class=“place”><a href=“/place/2/”>ЦДК &quot;Октябрь&quot;</a></td>
</tr>
</tbody>
Спасибо огромное, сегодня буду тестить.



Офлайн

#4 Май 16, 2011 04:54:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9865
Репутация: +  853  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

в третьем

import html.parser
help(html.parser)
во втором
import htmllib
help(htmllib)
он не простой, но поточнее регулярок



Офлайн

#5 Май 17, 2011 06:32:35

shadrinsk.info
От:
Зарегистрирован: 2011-05-17
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

conSTANta? а по башке?

учитесь работать ручками. Хватит воровать даже контент



Отредактировано (Май 17, 2011 06:56:27)

Офлайн

#6 Май 17, 2011 08:17:43

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

shadrinsk.info
conSTANta? а по башке?
учитесь работать ручками. Хватит воровать даже контент
А что вы так возбудились? Может он себе расписание просмотров составлять хочет?



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

Офлайн

#7 Май 17, 2011 10:33:00

shadrinsk.info
От:
Зарегистрирован: 2011-05-17
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

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



Офлайн

#8 Май 17, 2011 12:52:49

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

:) Авторское право. Интересно а сколько на сайте сторонников этого права за которое я ни на каких референдумах не голосовал и поддерживаю я эти законы или нет никто не спрашивал? Хотите чтобы инфу никто не взял - сотрите, очень помогает, а выкладывание в интернет мешает ее приватности. Помоему на форуме обсуждаются технические вопросы а не правовые аспекты. Заранее прошу извинить за резкость.

ps
Было доказано воровство Microsoftom баз у Google и ничего - все сошло с рук.



Отредактировано (Май 17, 2011 12:54:26)

Офлайн

#9 Май 17, 2011 17:49:19

conSTANta
От:
Зарегистрирован: 2011-03-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить http страницу и выдрать из нее нужную инфу?

shadrinsk.info
conSTANta? а по башке?

учитесь работать ручками. Хватит воровать даже контент
Во-первых сначала узнайте для чего мне эта инфа.
Во-вторых мне не особо нужен именно ваш сайт, просто у него структура простенькая. Могу использовать и другой сайт, но ваш удобней.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version