Найти - Пользователи
Полная версия: Как загрузить http страницу и выдрать из нее нужную инфу?
Начало » Центр помощи » Как загрузить http страницу и выдрать из нее нужную инфу?
1
conSTANta
Уважаемые знатоки. Нужно загрузить страничку 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 и затем парсить вроде так понял, но есть может у кого нибудь пример? Или кто нибудь знаком как это делается. Заранее благодарю.
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>
conSTANta
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>
Спасибо огромное, сегодня буду тестить.
py.user.next
в третьем
import html.parser
help(html.parser)
во втором
import htmllib
help(htmllib)
он не простой, но поточнее регулярок
shadrinsk.info
conSTANta? а по башке?

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

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

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