Μαζική αποθήκευση κειμένου (html) και αντιγραφή σε .xlsx

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Μαζική αποθήκευση κειμένου (html) και αντιγραφή σε .xlsx

Δημοσίευσηαπό eliasps » 20 Αύγ 2012, 18:33

Καλησπέρα.

Θέλω να δημιουργήσω ένα αρχείο .xlsx, (στο Microsoft Office τα φτιάχνεις με το Excel, εγώ χρησιμοποιώ το LibreOffice Calc) το οποίο θα περιέχει μία λίστα από ταινίες και λεπτομέρειες για την κάθε ταινία.

Στο αρχείο θα υπάρχουν στήλες, όπου η πρώτη θα έχει τον τίτλο της ταινίας, η δεύτερη την περιγραφή της, η τρίτη την διάρκεια και γενικά διάφορες πληροφορίες, παράδειγμα:
Κώδικας: Επιλογή όλων
Τιτλος ταινίας: Περίληψη: Διάρκεια:
Ταδε ταινία 1 Μπλα μπλα μπλα ... μπλα μπλα 2 Ώρες
Ταδε ταινία 2 Μπλα μπλα μπλα ... μπλα μπλα 2,5 Ώρες
... ... ...

Οι πληροφορείες για την κάθε ταινία είναι διαθέσιμες από σελίδα στο ίντερνετ και μπορούν να γίνουν αντιγραφή από αυτήν και επικόλληση στο αρχείο.xlsx.

Το πρόβλημα μου τώρα, είναι ότι οι ταινίες είναι πάρα πολλές (πάνω από 4000) και για να κάνω copy-paste τις πληροφορίες των ταινιών χειροκίνητα, θα χρειαστούν αρκετές ώρες και μέρες, τις οποίες δεν διαθέτω.

Αυτό που σκέφτηκα και μου φαίνεται εφικτό, είναι να γίνει όλη αυτή η δουλειά με Bash programming ή έστω με κάποιο άλλο εργαλείο που θα κάνει την δουλειά αυτοματοποιημένα.



Δηλαδή, ας πάρουμε τις ταινίες που είναι καταχωρημένες στο site http://www.pgcosmos.gr.

Το url για τις ταινίες είναι αυτό http://www.pgcosmos.gr/movie.php?id= και μετα το "ίσον", κάθε ξεχωριστό id αντιστοιχεί σε μία ταινία.
Για παράδειγμα, η ταινία "Τransit" έχει id: 34946, (http://www.pgcosmos.gr/movie.php?id=34946).

Εγώ θα μπορούσα να πάρω ότι γράφει η σελίδα και τον κώδικά της, χρησιμοποιώντας το wget ή να το χρησιμοποιήσω για πολλές ταινίες κάπως έτσι:
Κώδικας: Επιλογή όλων
for i in {30000..35000} ##οι αριθμοί είναι τυχαίοι, άμα θέλω πχ τις ταινίες με τα id από 30000 μέχρι 35000.
do
wget -Ο arxeio http://www.pgcosmos.gr/movie.php?id=$i
done

Aλλά έτσι θα πάρω το περιεχόμενο όλης της σελίδας το οποίο θα αναγκαστώ να το επεξεργαστώ μετά για κρατήσω τις πληροφορίες που θέλω, οπότε πάλι θα φάω πολλές ώρες για όλα τα αρχεία, άρα τσάμπα κόπος.

Αυτό που θέλω να μάθω είναι αν υπάρχει τρόπος να πάρω μόνο το κομμάτι της σελίδας που λέει πχ για την περιγραφή της ταινίας.
Ο πηγιαίος κώδικας είναι αυτός:
Κώδικας: Επιλογή όλων
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PGCosmos :: Αστυνομικο > - Transit</title>
<meta http-equiv="keywords" content=", TRANSIT" />
<meta http-equiv="description" content="Αυτή, δεν είναι μία συνηθισμένη απόδραση…
Θρίλερ εντατικών ρυθμών...! - Flix
Θα ξεφύγουν μόνο αν το αποφασίσουν οι κυνηγοί τους!

Μετά από μια αιματηρή ληστεία, οι δράστες βρίσκονται με 4.000.000 δολάρια στα χέρια τους και αντιμέτωποι με τα μπλόκα της αστυνομίας. Για να καταφέρουν να περάσουν απαρατήρητοι και να φυγαδεύσουν τα κλεμμένα χρήματα, κρύβουν τη λεία τους στο τζιπ μιας τετραμελούς οικογένειας, η" />

<link rel="shortcut icon" href="imgs/favicon.ico" />
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<link href="/js/jquery/jquery-placeholder-plugin/jquery.placeholder.min.css" rel="stylesheet" type="text/css" />
<!--<link href="/js/jquery/FeaturedContentSlider/style.css" rel="stylesheet" type="text/css" />-->
<link href="/css/default.css" rel="stylesheet" type="text/css" />
<link href="/css/style.css" rel="stylesheet" type="text/css" />

<!--[if lt IE 7]>
<style type="text/css" >
@import url("css/ielt7.css");
</style>
<![endif]-->
<!--[if IE 7]>
<style type="text/css">
@import url("css/ie7.css");
</style>
<![endif]-->
<!--[if IE 8]>
<style type="text/css">
@import url("css/ie8.css");
</style>
<![endif]-->

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/jquery-ui.min.js"></script>
<script src="http://gettopup.com/releases/latest/top_up-min.js" type="text/javascript"></script>

<script src="/js/jquery/jquery-placeholder-plugin/jquery.placeholder.js" type="text/javascript"></script>
<script src="/js/jquery/FeaturedContentSlider/js/jquery-easing-1.3.pack.js" type="text/javascript"></script>
<script src="/js/jquery/FeaturedContentSlider/js/jquery-easing-compatibility.1.2.pack.js" type="text/javascript"></script>
<script src="/js/jquery/FeaturedContentSlider/js/coda-slider.1.1.1.pack.js" type="text/javascript"></script>



<style type="text/css">
.ui-dialog{padding:0;}
.ui-dialog .main .title{font-size:13px;}
.ui-dialog .ui-dialog-titlebar{position:relative;top:14px;z-index:100}
.ui-dialog .ui-widget-header{padding:0;background:none;border:none;-moz-border-radius:0;}
.ui-dialog .ui-dialog-content{padding:0;position:relative;top:-20px;left:0;}
.ui-widget-overlay{opacity:0.7;}
</style>
<script type="text/javascript">
<!--
jQuery(document).ready(function($) {
$(":input[placeholder]").placeholder({preventRefreshIssues:false});
});
-->
</script>
<style type="text/css">
/**/
ul.thumb {float: left;}
ul.thumb li {margin:0 0 20px 0; padding:0 0 2px 0;float: left;position: relative;width: 240px;height: 75px; overflow:hidden;}
ul.thumb li img {/*width: 100px; height: 100px;border: 1px solid #ddd;padding: 5px;background: #f0f0f0;position: absolute;left: 0; top: 0;*/-ms-interpolation-mode: bicubic; }
ul.thumb li img.hover {background:url(thumb_bg.png) no-repeat center center;border: none;}
a:focus{border:none;}

#rental_loader{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;background:url(/imgs/bg_imgs/semi_transparent.png)}
#rental_loader p{position:absolute;top:50%;left:50%;margin:-1em 0 0 -4.3em}
#rental_loader b{display:block;margin:0 1px;border:solid #aaa;border-width:1px 0;padding:0;color:#888}
#rental_loader b b{margin:0 -1px;padding:0;border-width:0 1px}
#rental_loader b b b{margin:0;padding:0 .6em 0 29px;border-width:0;line-height:3.3em;background:#efefef}
#rental_loader img{position:absolute;top:50%;left:8px;margin:-8px 0 0 0}

.tooltip {display:none;width:160px;height:70px;padding:25px;z-index:100;background:url(imgs/tooltip/black_arrow.png);font-size:11px;line-height:16px;color:#fff;font-weight:bold;z-index:100;}
.tooltip a {color:#ad4;font-size:11px;font-weight:bold;}
.tooltip p{height:130px;overflow:auto;margin:0;padding:0;}
#image img {border:0;cursor:pointer;margin:0;}

</style>
<script src="http://cdn.jquerytools.org/1.2.5/tiny/jquery.tools.min.js"></script>
<script src="/js/lib/validator.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
$(document).ready(function(){

$(".actor a").hover(function() {
$(this).css({'z-index' : '10'});
this.parentNode.style.overflow="visible";
$(this).find('img').addClass("hover").stop()
.animate({
width: '94px',
marginTop: '-36px',
marginLeft: '-36px',
border:'1px solid #D0D1D5',
left: '50%',
padding: '0px'
}, 300);

} , function() {
$(this).css({'z-index' : '0'});
this.parentNode.style.overflow="hidden";
$(this).find('img').removeClass("hover").stop().delay(100)
.animate({
width: '58px',
marginTop: '0',
marginLeft: '0',
border: '1px solid #D0D1D5',
top: '0',
left: '0',
padding: '0px'
}, 0);/**/

});



});
-->
</script>


<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21824129-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="header-cont">
<div class="header">
<div class="top">
<a href="/" class="logo" style="display:block"></a>
<div class="search-w fr">
<div class="bg-left"></div>
<div class="bg-right"></div>
<div class="shadow-down"></div>
<div class="wrap">
<div class="fl bg">
<form method="get" action="results.php" enctype="text/plain">
<div class="search-text">
<input type="text" value="" id="search" name="search" placeholder="αναζήτηση..."/>
<input type="submit" class="search_btn fl" value="" />
</div>
</form>
<a href="javascript:void(null);" onclick="$('#asearch').dialog('open');" class="fr adv-search">σύνθετη αναζήτηση</a>
</div>
<div class="fr shadow-right"></div>
<div class="cb"></div>
</div>
<div class="cb"></div>
</div>
<div class="cb"></div>
</div>
<div class="menu-w">
<div class="fl menu">
<ul>
<li><a href="/" ><span class="home">Αρχική</span></a></li>
<li><a href="/company.php" ><span class="comp">Η Εταιρεία</span></a></li>
<li><a href="/results.php" ><span class="arch">Ταινιοθήκη</span></a></li>
<li><a href="/contact.php" ><span class="contact">Επικοινωνία</span></a></li>
</ul>
<div class="cb"></div>
</div>
<div class="fl admin-w">
<div class="corner"></div>
<div class="login">
<form method="post" action="login.php" enctype="application/x-www-form-urlencoded">
<div class="fl username">
<input type="text" id="username" name="username" placeholder="Κωδικός Μέλους"/>
</div>
<div class="fl pass">
<input type="password" id="pass" name="pass" placeholder="Συνθηματικό" />
</div>
<div class="fl btn white" style="width:100px;margin:1px 3px 0 10px;"
><span class="left-corn"></span
><button type="submit" class="imain" style="width:86px;height:30px;">Είσοδος</button
><span class="right-corn"></span
><div class="cb"></div
></div>
<div class="cb"></div>
</form>
</div>
</div>
<div class="cb"></div>
</div>
</div>
</div>

<div class="shadow">
<div class="sh-left fl"></div>
<div class="sh-main fl"></div>
<div class="sh-right fl"></div>
<div class="cb"></div>
</div>
<div class="underline">
<div class="left fl"></div>
<div class="main fl"></div>
<div class="right fl"></div>
<div class="cb"></div>
</div>
<div class="main-cont">
<div class="fl left-col">
<div class="box white">
<div class="cor lt-cor"></div>
<div class="cor rt-cor"></div>
<h3 class="header">Είδος</h3>
<div class="main">
<ul style="padding:20px 20px 10px 20px">
<li><a href="/results.php?media_id=5">BluRay</a></li><li><a href="/results.php?media_id=1">DVD</a></li><li><a href="/results.php?media_id=4">PlayStation 2</a></li><li><a href="/results.php?media_id=7">PlayStation 3</a></li><li><a href="/results.php?media_id=2">VHS</a></li> </ul>
<div class="dbtn"></div>
</div>
<div class="cor lb-cor"></div>
<div class="cor rb-cor"></div>
</div>
<div class="box white">
<div class="cor lt-cor"></div>
<div class="cor rt-cor"></div>
<h3 class="header">Κατηγοριες</h3>

<div class="main">
<ul style="padding:20px 20px 10px 20px">
<li><a href="/results.php?cat_id=1">Αισθηματικα</a></li><li><a class="sidebold" href="/results.php?cat_id=2">Αστυνομικα</a></li><li><a href="/results.php?cat_id=30">Βιογραφια</a></li><li><a href="/results.php?cat_id=3">Γουεστερν</a></li><li><a href="/results.php?cat_id=36">Γυμναστικη</a></li><li><a href="/results.php?cat_id=4">Ελληνικα</a></li><li><a href="/results.php?cat_id=5">Ερωτικα</a></li><li><a href="/results.php?cat_id=6">Θριλερ</a></li><li><a href="/results.php?cat_id=7">Ιστορικα</a></li><li><a href="/results.php?cat_id=8">Καρατε</a></li><li><a href="/results.php?cat_id=9">Κατασκοπικα</a></li><li><a href="/results.php?cat_id=25">Κινουμενα Σχεδια</a></li><li><a href="/results.php?cat_id=10">Κλασσικα</a></li><li><a href="/results.php?cat_id=11">Κοινωνικα</a></li><li><a href="/results.php?cat_id=12">Κωμωδια</a></li><li><a href="/results.php?cat_id=21">Μιουζικαλ</a></li><li><a href="/results.php?cat_id=13">Μουσικα</a></li><li><a href="/results.php?cat_id=14">Ντοκυμαντερ</a></li><li><a href="/results.php?cat_id=15">Παιδικα</a></li><li><a href="/results.php?cat_id=16">Περιπετεια</a></li><li><a href="/results.php?cat_id=17">Πολεμικα</a></li><li><a href="/results.php?cat_id=18">Σπορ</a></li><li><a href="/results.php?cat_id=19">Φαντασιας</a></li> </ul>
<div class="dbtn"></div>
</div>
<div class="cor lb-cor"></div>
<div class="cor rb-cor"></div>
</div>
</div>
<div class="fl center-col">


<div class="cont">
<div class="lt-cor"></div>
<div class="rt-cor"></div>
<div class="main"><a href="/">Αρχική</a> ><a href="/results.php?cat_id=2"> Αστυνομικο</a></div>
<div class="lb-cor"></div>
<div class="rb-cor"></div>
</div>

<div class="cont">
<div class="lt-cor"></div>
<div class="rt-cor"></div>
<div class="header">Transit <div class="l-corn"></div>
<div class="r-corn"></div>
</div>
<div class="details">
<div>
<div class="img fl"><a href="thumb.php?fn=uploads/bluerayfront/B583.jpg&amp;mw=1024&amp;co=90&amp;ai=uploads/no_img.jpg" class="top_up act-img" toptions="group=g1,shaded=1,overlayClose=1,layout=dashboard,effect=fade"><img src="thumb.php?fn=uploads/bluerayfront/B583.jpg&amp;mw=220&amp;co=100&amp;ai=uploads/no_img.jpg"/></a></div>
<div class="side fl" style="width:279px;">
<ul>
<li><span class="info">Διαθέσιμο σε: </span><span class="detail">BluRay, DVD</span></li> <li><span class="info">Κωδικός: </span><span class="detail">B583</span></li> <li><span class="info">Κατηγορία: </span><span class="detail">Αστυνομικο</span></li>
<li><span class="info">Σκηνοθεσία: </span><span class="detail"><a href="/results.php?director_id=10112">Αντονιο Νεγκρετ</a></span></li> <li><span class="info">Σενάριο: </span><span class="detail"><a href="/results.php?author_id=10111">Μαικλ Τζιλβαρι</a></span></li> <li><span class="info">Μουσική: </span><span class="detail"><a href="/results.php?music_id=4366">Κριστοφερ Γουεστλεικ</a></span></li> <li><span class="info">Φωτογραφία: </span><span class="detail"><a href="/results.php?photography_id=3681">Γιαρον Λεβι</a></span></li> <li><span class="info">Γλώσσα: </span><span class="detail"><a href="/results.php?language_id=2">Αγγλικα</a></span></li> <li><span class="info">Ηχος: </span><span class="detail">5,1 Dts - Hd Mas Aud</span></li> <li><span class="info">Παραγωγή: </span><span class="detail"><a href="/results.php?prodyear=2012">2012</a></span></li> <li><span class="info">Διάρκεια: </span><span class="detail">90'</span></li>
</ul>
<div class="cb"></div>
</div>
<div class="cb"></div>
</div>
<div class="more_img"><a href="thumb.php?fn=uploads/bluerayrear/B583.jpg&amp;mw=1024&amp;co=90&amp;ai=uploads/no_img.jpg" class="top_up act-img" toptions="group=g1,shaded=1,overlayClose=1,layout=dashboard,effect=fade"> &gt; Εξώφυλλο</a></div> </div>
<div class="lb-cor"></div>
<div class="rb-cor"></div>
</div>

<div class="cont">
<div class="lt-cor"></div>
<div class="rt-cor"></div>
<div class="header">On-Line Κράτηση / Ενοικίαση
<div class="l-corn"></div>
<div class="r-corn"></div>
</div>
<div class="details" style="padding-top:20px;">


<form action="/movie.php" method="post" enctype="application/x-www-form-urlencoded" name="form_make_order">
<input type="hidden" name="make_order" value="1" />
<input type="hidden" name="id" value="34946" />
<div class="type" style="float:left;margin:0 10px 0 20px">
<div style="float:left;padding-top:2px">Είδος : </div>
<div style="float:left;margin-left:5px">
<select name="mtype" id="mtype" onChange="mtypeChange(this)">
<option value="0">Επιλέξτε</option>
<option value="34946" >BluRay</option>
<option value="34947" >DVD</option>

</select>
</div>
</div>
<div class="type" style="float:left;margin:0 10px 0 20px">
<div style="float:left;padding-top:2px">Τύπος : </div>
<div style="float:left;margin-left:5px">
<select name="type" id="type" disabled="disabled" onChange="typeChange(this)">
<option value="0">Επιλέξτε</option>
</select>
</div>
</div>
<div class="type" style="float:left;margin:0 10px 0 20px">
<div style="float:left;padding-top:2px">Ημ/νία : </div>
<div style="float:left;margin-left:5px"><input type="text" id="odate" name="odate" readonly style="font-size:13px;padding-left:3px" value="" disabled="disabled"></div>
<div style="clear:both"></div>
</div><br /><br />
<div class="fr btn black" style="width:110px;margin:8px 28px 0 10px;"
><span class="left-corn"></span
><button type="submit" class="imain" style="width:96px;">Ολοκλήρωση</button
><span class="right-corn"></span
><div class="cb"></div
></div>
<div style="clear:both"></div>
</form>
<script type="text/javascript">
<!--
var frmvalidator = new Validator('form_make_order');
frmvalidator.addValidation("mtype","req","Παρακαλώ επιλέξτε είδος!");
frmvalidator.addValidation("mtype","dontselect=0","Παρακαλώ επιλέξτε είδος!");
frmvalidator.addValidation("odate","req","Πρέπει να έχετε εισάγει έγκυρη ημερομηνία!");
-->
</script>

</div>

<div class="lb-cor"></div>
<div class="rb-cor"></div>
</div>

<div style="margin-top:5px">
<ul class="tabs">
<li class="tab"><a href="#tab1"><span class="left-corn"></span><span class="main">Περίληψη</span><span class="right-corn"></span></a><div class="cb"></div></li> <li class="tab"><a href="#WebClip"><span class="left-corn"></span><span class="main">Movie Trailer</span><span class="right-corn"></span></a><div class="cb"></div></li> <li class="tab"><a href="#tab2"><span class="left-corn"></span><span class="main">Συντελεστές</span><span class="right-corn"></span></a><div class="cb"></div></li>
</ul>

<div class="cont tab_container">
<div class="rt-cor"></div>
<div id="tab1" class="tab_content">Αυτή, δεν είναι μία συνηθισμένη απόδραση…<br />
Θρίλερ εντατικών ρυθμών...! - Flix<br />
Θα ξεφύγουν μόνο αν το αποφασίσουν οι κυνηγοί τους!<br />
<br />
Μετά από μια αιματηρή ληστεία, οι δράστες βρίσκονται με 4.000.000 δολάρια στα χέρια τους και αντιμέτωποι με τα μπλόκα της αστυνομίας. Για να καταφέρουν να περάσουν απαρατήρητοι και να φυγαδεύσουν τα κλεμμένα χρήματα, κρύβουν τη λεία τους στο τζιπ μιας τετραμελούς οικογένειας, η οποία έχει έρθει στη Λουιζιάνα για διακοπές. Το κόλπο πιάνει, η επανάκτηση των πολυπόθητων εκατομμυρίων όμως, θα αποδειχτεί κάθε άλλο παρά εύκολη υπόθεση. Απίστευτα κυνηγητά με τα αυτοκίνητα, μέσα σ’ ένα καταπράσινο τοπίο, με αίμα και φόνους, η οικογένεια βρίσκεται στο έλεος της συμμορίας!!!<br />
<br />
ΚΙΝΗΜΑΤΟΓΡΑΦΙΚΗ ΠΡΟΒΟΛΗ ΣΤΗΝ ΕΛΛΑΔΑ: 23 ΜΑΡΤΙΟΥ 2012<br />
ΚΙΝΗΜΑΤΟΓΡΑΦΙΚΗ ΠΡΟΒΟΛΗ ΣΤΗΝ ΕΥΡΩΠΗ: 20 ΑΠΡΙΛΙΟΥ 2012<br />
ΚΙΝΗΜΑΤΟΓΡΑΦΙΚΗ ΠΡΟΒΟΛΗ ΣΤΗΝ ΑΜΕΡΙΚΗ: 25 ΜΑΡΤΙΟΣ 2012 </div> <div id="WebClip" class="tab_content" style="padding:0">
<div style="text-align:center">
<iframe width="560" height="315" src="http://www.youtube.com/embed/IA4TCjAgc-Q" frameborder="0" allowfullscreen></iframe> </div>
</div>
<div id="tab2" class="tab_content">
<ul class="thumb"><li class="actor"><a href="/results.php?actor_id=54380" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/54380.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Τζιμ Καβιεζελ</span><span class="act-name" style="padding:40px 4px 4px 4px;">Jim Caviezel</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=37107" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/37107.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Ντιορα Μπειρντ</span><span class="act-name" style="padding:40px 4px 4px 4px;">Diora Baird</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=17208" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/17208.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Τζεημς Φρεην</span><span class="act-name" style="padding:40px 4px 4px 4px;">James Frain</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=49244" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/49244.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Στερλινγκ Ναιτ</span><span class="act-name" style="padding:40px 4px 4px 4px;">Sterling Knight</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=20421" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/20421.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Χαρολντ Περινο</span><span class="act-name" style="padding:40px 4px 4px 4px;">Harold Perrineau</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=38977" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/38977.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Τζεηκ Τσερι</span><span class="act-name" style="padding:40px 4px 4px 4px;">Jake Cherry</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=51088" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/51088.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Ραιαν Ντονοχου</span><span class="act-name" style="padding:40px 4px 4px 4px;">Ryan Donowho</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=54162" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/54162.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Μπο Μπρασω</span><span class="act-name" style="padding:40px 4px 4px 4px;">Beau Brasseaux</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=23979" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/23979.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Γκριφ Φουρστ</span><span class="act-name" style="padding:40px 4px 4px 4px;">Griff Furst</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=37014" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/37014.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Τζον Ντανιελ Εβερμορ</span><span class="act-name" style="padding:40px 4px 4px 4px;">J.d. Evermore</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=52062" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/52062.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Μονικα Ακοστα</span><span class="act-name" style="padding:40px 4px 4px 4px;">Monica Acosta</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=21880" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/21880.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Ρομπ Μπολτιν</span><span class="act-name" style="padding:40px 4px 4px 4px;">Rob Boltin</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=37012" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/37012.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Νταγκλας Γκριφιν</span><span class="act-name" style="padding:40px 4px 4px 4px;">Douglas M. Griffin</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=54381" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/54381.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Ρομπι Τζοουνς</span><span class="act-name" style="padding:40px 4px 4px 4px;">Robbie Jones</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=54382" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/54382.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Ντον Γιεσο</span><span class="act-name" style="padding:40px 4px 4px 4px;">Don Yesso</span></a><div class="cb"></div></li><li class="actor"><a href="/results.php?actor_id=54383" ><img class="act-img" src="thumb.php?mw=180&amp;fn=uploads/actors/54383.jpg&amp;ai=uploads/no_act.gif" /><span class="act-name">Ασλει Μπροντ</span><span class="act-name" style="padding:40px 4px 4px 4px;">Ashley Braud</span></a><div class="cb"></div></li></ul> <div class="cb"></div>
</div>
<div class="lb-cor"></div>
<div class="rb-cor"></div>
</div>

<div class="cb"></div>
</div>

</div>

<div class="fr right-col">
<div class="box white">
<div class="cor lt-cor"></div>
<div class="cor rt-cor"></div>
<h3 class="header">Δημοφιλέστερες</h3>
<div class="main">
<ul style="padding:20px 20px 10px 20px">
<li><a style="display:block;" href="/movie.php?id=34933"><img src="thumb.php?fn=uploads/dvdfront/D11614.jpg&amp;mw=144&amp;co=70&amp;ai=uploads/no_img.jpg"/><br />Αναμεσα Σε Δυο Κοσμο...</a></li><li><a style="display:block;" href="/movie.php?id=34941"><img src="thumb.php?fn=uploads/dvdfront/D11622.jpg&amp;mw=144&amp;co=70&amp;ai=uploads/no_img.jpg"/><br />Σατανικη Συναντηση</a></li><li><a style="display:block;" href="/movie.php?id=34948"><img src="thumb.php?fn=uploads/dvdfront/D11627.jpg&amp;mw=144&amp;co=70&amp;ai=uploads/no_img.jpg"/><br />Στα Ορια</a></li> </ul>
<div class="btn black" style="width:160px;margin-left:20px;"><a href="/results.php?action=popular"><span class="fl left-corn"></span><span class="fl amain" style="width:115px">Δείτε Περισσότερες</span><span class="fl right-corn"></span></a>
<div class="cb"></div>
</div>
</div>
<div class="cor lb-cor"></div>
<div class="cor rb-cor"></div>
</div>
</div>
<div class="cb"></div>
</div>
<div class="footer-cont">
<div class="lt-cor"></div>
<div class="rt-cor"></div>
<div class="lb-cor"></div>
<div class="rb-cor"></div>
<div class="info-w">
<div class="valid">
<a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.pgcosmos.gr"><span class="icon" style="margin-bottom:10px;background:url(imgs/bg_imgs/w3c-l.png) top left no-repeat"></span></a>
<a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.pgcosmos.gr"><span class="icon" style="margin-top:10px;background:url(imgs/bg_imgs/w3c-r.png) top left no-repeat"></span></a>
</div>
<div class="info" style="margin-left:134px">Σερφιώτου 75, 185 39 Καλλίπολη - Πειραιάς, Τηλ.: 210 4513021, Fax.: 210 4186021<div style="margin-top:5px">All rights reserved 2006-2011</div></div>
<div class="webup">
<a title="κατασκευή ιστοσελίδων" target="_blank" class="img" href="http://www.webup.gr/?utm_source=www.pgcosmos.gr&amp;utm_medium=poweredby&amp;utm_campaign=referral">
<img border="0" title="κατασκευή ιστοσελίδων" alt="κατασκευή ιστοσελίδων" src="../imgs/bg_imgs/webup_logo.png" />
</a>
</div>
<div class="cb"></div>
</div>
</div><br />

<script>
jQuery(function(){
jQuery("#dialog:ui-dialog").dialog("destroy");
jQuery("#asearch").dialog({
height: 250,
width:570,
draggable: false,
resizable: false,
modal: true,
autoOpen: false
});
});
</script>
<div id="asearch" style="display:none;overflow:hidden" >
<div class="box white" style="width:570px;margin:0 auto;overflow:hidden">
<div class="cor lt-cor"></div>
<div class="cor rt-cor"></div>
<h3 class="header">Σύνθετη Αναζήτηση</h3><br /><br />
<div class="main" style="padding:0 15px">
<form method="get" action="results.php" enctype="text/plain">
<table cellpadding="4" cellspacing="4" border="0" width="100%">
<table>
<tr>
<td align="left" valign="top"><div class="title" style="width:150px;margin:0 0 5px 5px">Τίτλος</div></td>
<td align="left" valign="top"><div class="title" style="width:150px;margin:0 0 5px 5px">Κατηγορία</div></td>
</tr>
<tr>
<td align="left" valign="top"><input type="text" name="search" value="" style="width:366px;padding-left:5px;margin:0 5px 5px 0" onBlur="this.className='fio';" onFocus="this.className='fio fio_focus';" class="fio" /></td>
<td align="left" valign="top">
<select name="cat_id" style="width:159px;height:26px;margin:0 5px 5px 0" onBlur="this.className='fio';" onFocus="this.className='fio fio_focus';" class="fio">
<option value="0" selected="selected" >Όλες</option>
<option value="1" >Αισθηματικα</option>
<option value="2" >Αστυνομικα</option>
<option value="30" >Βιογραφια</option>
<option value="3" >Γουεστερν</option>
<option value="36" >Γυμναστικη</option>
<option value="4" >Ελληνικα</option>
<option value="5" >Ερωτικα</option>
<option value="6" >Θριλερ</option>
<option value="7" >Ιστορικα</option>
<option value="8" >Καρατε</option>
<option value="9" >Κατασκοπικα</option>
<option value="25" >Κινουμενα Σχεδια</option>
<option value="10" >Κλασσικα</option>
<option value="11" >Κοινωνικα</option>
<option value="12" >Κωμωδια</option>
<option value="21" >Μιουζικαλ</option>
<option value="13" >Μουσικα</option>
<option value="14" >Ντοκυμαντερ</option>
<option value="15" >Παιδικα</option>
<option value="16" >Περιπετεια</option>
<option value="17" >Πολεμικα</option>
<option value="18" >Σπορ</option>
<option value="19" >Φαντασιας</option>
</select>
</td>
</tr>
</table>
<table>
<tr>
<td align="left" valign="top"><div class="title" style="width:150px;margin:0 0 5px 5px">Ηθοποιός Α'</div></td>
<td align="left" valign="top"><div class="title" style="width:150px;margin:0 0 5px 5px">Ηθοποιός Β'</div></td>
<td align="left" valign="top"><div class="title" style="width:150px;margin:0 0 5px 5px">Σκηνοθέτης</div></td>
</tr>
<tr>
<td align="left" valign="top"><input type="text" name="actor" value="" style="width:175px;padding-left:5px;margin:0 5px 5px 0" onBlur="this.className='fio';" onFocus="this.className='fio fio_focus';" class="fio" /></td>
<td align="left" valign="top"><input type="text" name="actor2" value="" style="width:175px;padding-left:5px;margin:0 5px 5px 0" onBlur="this.className='fio';" onFocus="this.className='fio fio_focus';" class="fio" /></td>
<td align="left" valign="top"><input type="text" name="director" value="" style="width:149px;padding-left:5px" onBlur="this.className='fio';" onFocus="this.className='fio fio_focus';" class="fio" /></td>
</tr>
</table>
<table>
<tr>
<td align="left" valign="top"><div class="title" style="width:80px;margin:0px 0 5px 5px">Γλώσσα</div></td>
<td align="left" valign="top"><div class="title" style="width:80px;margin:0px 0 5px 5px">Παραγωγή</div></td>
<td align="left" valign="top"><div class="title" style="width:80px;margin:0px 0 5px 5px">Είδος</div></td>
<td align="left" valign="top"></td>
</tr>
<tr>
<td align="left" valign="top">
<select name="language_id" style="width:185px;height:26px;margin-right:5px;" onBlur="this.className='fio';" onFocus="this.className='fio fio_focus';" class="fio">
<option value="0" selected="selected" >Όλες</option>
<option value="2" >Αγγλικα</option>
<option value="39" >Αραβικα</option>
<option value="34" >Αραμαικα</option>
<option value="40" >Αφρικαανς</option>
<option value="49" >Βελγικα</option>
<option value="48" >Βιετναμεζικα</option>
<option value="3" >Γαλλικα</option>
<option value="9" >Γερμανικα</option>
<option value="13" >Γιουγκοσλαβικα</option>
<option value="7" >Δανεζικα</option>
<option value="35" >Εβραικα</option>
<option value="1" >Ελληνικα</option>
<option value="31" >Ελληνικα Και Αγγλικα</option>
<option value="52" >Ελληνικα Ρωσικα</option>
<option value="11" >Ιαπωνεζικα</option>
<option value="21" >Ινδικα</option>
<option value="18" >Ιρανικα</option>
<option value="23" >Ισλαδικα</option>
<option value="32" >Ισλανδικα</option>
<option value="5" >Ισπανικα</option>
<option value="4" >Ιταλικα</option>
<option value="17" >Καντονεζικα</option>
<option value="10" >Κινεζικα</option>
<option value="44" >Κοζακικα</option>
<option value="24" >Κορεατικα</option>
<option value="15" >Μανταριν</option>
<option value="33" >Μεξικανικα</option>
<option value="14" >Μεταγλωττισμενα</option>
<option value="46" >Μογγολικα</option>
<option value="19" >Νορβηγικα</option>
<option value="16" >Ολλανδικα</option>
<option value="43" >Ουγγρικα</option>
<option value="29" >Οχι</option>
<option value="30" >Πακιστανικα</option>
<option value="47" >Περσικα</option>
<option value="38" >Πολονεζικα</option>
<option value="28" >Πορτογαλικα</option>
<option value="27" >Πορτογεζικα</option>
<option value="45" >Ρουμανικα</option>
<option value="8" >Ρωσσικα</option>
<option value="37" >Σερβοκροατικα</option>
<option value="6" >Σουηδικα</option>
<option value="12" >Τουρκικα</option>
<option value="22" >Τσεχικα</option>
<option value="25" >Φινλανδικα</option>
</select>
</td>
<td align="left" valign="top">
<select name="prodyear" style="width:90px;height:26px;margin-right:5px;" onBlur="this.className='fio';" onFocus="this.className='fio fio_focus';" class="fio">
<option value="0" selected="selected" >Όλες</option>
<option value="2012" >2012</option>
<option value="2011" >2011</option>
<option value="2010" >2010</option>
<option value="2009" >2009</option>
<option value="2008" >2008</option>
<option value="2007" >2007</option>
<option value="2006" >2006</option>
<option value="2005" >2005</option>
<option value="2004" >2004</option>
<option value="2003" >2003</option>
<option value="2002" >2002</option>
<option value="2001" >2001</option>
<option value="2000" >2000</option>
<option value="1999" >1999</option>
<option value="1998" >1998</option>
<option value="1997" >1997</option>
<option value="1996" >1996</option>
<option value="1995" >1995</option>
<option value="1994" >1994</option>
<option value="1993" >1993</option>
<option value="1992" >1992</option>
<option value="1991" >1991</option>
<option value="1990" >1990</option>
<option value="1989" >1989</option>
<option value="1988" >1988</option>
<option value="1987" >1987</option>
<option value="1986" >1986</option>
<option value="1985" >1985</option>
<option value="1984" >1984</option>
<option value="1983" >1983</option>
<option value="1982" >1982</option>
<option value="1981" >1981</option>
<option value="1980" >1980</option>
<option value="1979" >1979</option>
<option value="1978" >1978</option>
<option value="1977" >1977</option>
<option value="1976" >1976</option>
<option value="1975" >1975</option>
<option value="1974" >1974</option>
<option value="1973" >1973</option>
<option value="1972" >1972</option>
<option value="1971" >1971</option>
<option value="1970" >1970</option>
<option value="1969" >1969</option>
<option value="1968" >1968</option>
<option value="1967" >1967</option>
<option value="1966" >1966</option>
<option value="1965" >1965</option>
<option value="1964" >1964</option>
<option value="1963" >1963</option>
<option value="1962" >1962</option>
<option value="1961" >1961</option>
<option value="1960" >1960</option>
<option value="1959" >1959</option>
<option value="1958" >1958</option>
<option value="1957" >1957</option>
<option value="1956" >1956</option>
<option value="1955" >1955</option>
<option value="1954" >1954</option>
<option value="1953" >1953</option>
<option value="1952" >1952</option>
<option value="1951" >1951</option>
<option value="1950" >1950</option>
<option value="1949" >1949</option>
<option value="1948" >1948</option>
<option value="1947" >1947</option>
<option value="1946" >1946</option>
<option value="1945" >1945</option>
<option value="1944" >1944</option>
<option value="1943" >1943</option>
<option value="1942" >1942</option>
<option value="1941" >1941</option>
<option value="1940" >1940</option>
<option value="1939" >1939</option>
<option value="1938" >1938</option>
<option value="1937" >1937</option>
<option value="1936" >1936</option>
<option value="1935" >1935</option>
<option value="1934" >1934</option>
<option value="1933" >1933</option>
<option value="1932" >1932</option>
<option value="1931" >1931</option>
<option value="1930" >1930</option>
<option value="1929" >1929</option>
<option value="1928" >1928</option>
<option value="1927" >1927</option>
<option value="1925" >1925</option>
<option value="1921" >1921</option>
</select>
</td>
<td align="left" valign="top">
<select name="media_id" style="width:90px;height:26px;margin-right:5px;" onBlur="this.className='fio';" onFocus="this.className='fio fio_focus';" class="fio">
<option value="0" selected="selected" >Όλες</option>
<option value="5" >BluRay</option>
<option value="1" >DVD</option>
<option value="4" >PlayStation 2</option>
<option value="7" >PlayStation 3</option>
<option value="2" >VHS</option>
</select>
</td>
<td align="right" valign="top" style="width:160px">
<div class="btn black" style="margin:2px 0px 0 0px;width:111px;height:26px;">
<span class="left-corn"></span>
<button type="submit" class="imain" name="asearch" style="width:100px;padding:3px 14px 11px;">Αναζήτηση</button>
<span class="right-corn"></span>
<div class="cb"></div>
</div>
</td>
</tr>
</table>
</table>
</form>
</div>
</div>
</div>

<div id="rental_loader" style="display:none;"><p><b><b><b><img width="16" height="16" alt="" src="/imgs/loaders/loading.gif">Loading...</b></b></b></p></div>
<script type="text/javascript" src="js/lib/Array.js"></script>
<script type="text/javascript">
<!--
var disabledDays=[];
var enkiasiday='';
var mtypeChange=function(elem){

if(elem.value==0){
$("#type").attr('disabled','disabled');
$("#odate").attr('disabled','disabled');
}else{
jQuery("#rental_loader").css('display','');
jQuery.ajax({
type: "GET",
cache: false,
url: "/rdata.php",
data: 'action=online_rental_check&mtype='+elem.value,
success: function(msg){
jQuery("#type").removeAttr("disabled");
jQuery("#odate").removeAttr("disabled");

var msg=msg.toString().split('||');
jQuery("#odate").attr('value',msg[0]);
jQuery("#type").html(msg[1]);
disabledDays=msg[2].toString().split(',');
jQuery("#rental_loader").css('display','none');
enkiasiday='';
jQuery("#odate").refresh();
}
});
}
}

var typeChange=function(elem){
enkiasiday='';
}

jQuery(document).ready(function() {
jQuery("#help_image img").tooltip({'position':'top center',delay:1000,relative:true});

//When page loads...
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content

//On Click Event
$("ul.tabs li").click(function() {

$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content

var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active ID content
return false;
});

});

function toTimestamp(date){
return date.getTime()/1000;
}
jQuery(function() {
jQuery.datepicker.regional['el'] = {
closeText: 'Κλείσιμο',
prevText: 'Προηγούμενος',
nextText: 'Επόμενος',
currentText: 'Τρέχων Μήνας',
monthNames: ['Ιανουάριος','Φεβρουάριος','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος','Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'],
monthNamesShort: ['Ιαν','Φεβ','Μαρ','Απρ','Μαι','Ιουν','Ιουλ','Αυγ','Σεπ','Οκτ','Νοε','Δεκ'],
dayNames: ['Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'],
dayNamesShort: ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'],
dayNamesMin: ['Κυ','Δε','Τρ','Τε','Πε','Πα','Σα'],
weekHeader: 'Εβδ',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''
};
jQuery.datepicker.setDefaults($.datepicker.regional['el']);
jQuery("#odate").datepicker({
minDate:0,
maxDate:"+1M",
beforeShowDay:function(date){
cts=toTimestamp(date);

if(!disabledDays.inArray(cts)){
if(jQuery("#type").val()=='rent'){
var cdate=new Date((new Date().getFullYear()), (new Date().getMonth()), (new Date().getDate()) );
if((enkiasiday=='' && cts>=toTimestamp(cdate)) || enkiasiday==cts){
enkiasiday=cts;
return [true,''];
}else{
return [false,''];
}
}else{
return [true,''];
}
}else{
return [false,''];
}

}
});
});
</script>
</body>
</html>

Ενώ εμένα με ενδιαφέρει μόνο αυτό το κομμάτι:
Κώδικας: Επιλογή όλων
<div id="tab1" class="tab_content">Αυτή, δεν είναι μία συνηθισμένη απόδραση…<br />
Θρίλερ εντατικών ρυθμών...! - Flix<br />
Θα ξεφύγουν μόνο αν το αποφασίσουν οι κυνηγοί τους!<br />
<br />
Μετά από μια αιματηρή ληστεία, οι δράστες βρίσκονται με 4.000.000 δολάρια στα χέρια τους και αντιμέτωποι με τα μπλόκα της αστυνομίας. Για να καταφέρουν να περάσουν απαρατήρητοι και να φυγαδεύσουν τα κλεμμένα χρήματα, κρύβουν τη λεία τους στο τζιπ μιας τετραμελούς οικογένειας, η οποία έχει έρθει στη Λουιζιάνα για διακοπές. Το κόλπο πιάνει, η επανάκτηση των πολυπόθητων εκατομμυρίων όμως, θα αποδειχτεί κάθε άλλο παρά εύκολη υπόθεση. Απίστευτα κυνηγητά με τα αυτοκίνητα, μέσα σ’ ένα καταπράσινο τοπίο, με αίμα και φόνους, η οικογένεια βρίσκεται στο έλεος της συμμορίας!!!<br />
<br />
ΚΙΝΗΜΑΤΟΓΡΑΦΙΚΗ ΠΡΟΒΟΛΗ ΣΤΗΝ ΕΛΛΑΔΑ: 23 ΜΑΡΤΙΟΥ 2012<br />
ΚΙΝΗΜΑΤΟΓΡΑΦΙΚΗ ΠΡΟΒΟΛΗ ΣΤΗΝ ΕΥΡΩΠΗ: 20 ΑΠΡΙΛΙΟΥ 2012<br />
ΚΙΝΗΜΑΤΟΓΡΑΦΙΚΗ ΠΡΟΒΟΛΗ ΣΤΗΝ ΑΜΕΡΙΚΗ: 25 ΜΑΡΤΙΟΣ 2012 </div>

Οπότε ή από το τερματικό, ή με κάποιον άλλον τρόπο να μπορώ να παίρνω από τον html κώδικά, μόνο το κομμάτι της περιγραφής, μαζικά για όλες τις ταινίες με id από 30000 μέχρι 35000;
Aυτή η απορία είναι το πρώτο κομμάτι του προβλήματός μου.

Το δεύτερο κομμάτι είναι αν μπορώ πάλι μέσω τερματικού, να κάνω επικόλληση την κάθε περιγραφή στο αρχείο .xlsx αυτόματα, χρησιμοποιώντας κάποια επανάληψη ας πούμε.

Ουσιαστικά θέλω ένα πρόγραμμα να κάνει αυτή τη δουλειά:
Κώδικας: Επιλογή όλων
Για τις ταινίες με id από 30000 μέχρι 35000
αντέγραψε την περιγραφή
κάνε την επικόλληση στο αρχείο .xlsx


Δεν με ενδιαφέρει αν θα γίνει μέσω τερματικού ή ποιά εφαρμογή θα χρησιμοποιηθεί για το .xlsx. Aυτά...

Ευχαριστώ εκ των προτέρων για τον χρόνο σας!

Off topic:
Δεν μπόρεσα να σκεφτώ έναν ιδανικό τίτλο για το θέμα, οπότε αν κάποιος από εσάς σκεφτεί έναν κατάλληλο τίτλο για το πρόβλημα του νήματος, να μου τον πει για να τον αλλάξω.
Επίσης, ίσως το νήμα να χρειάζεται μεταφορά σε άλλη κατηγορία, αν είναι έτσι, ζητώ συγνώμη από τους συντονιστές.
Aκόμα, η αναφορά στο site είναι και αυτή τυχαία, σε καμία περίπτωση δεν γίνεται για λόγους διαφήμισης και έχει μοναδικό σκοπό την αναφορά παραδείγματος, για ευκολότερη κατανόηση του προβλήματος.
Άβαταρ μέλους
eliasps
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4017
Εγγραφή: 16 Δεκ 2011, 22:25
Τοποθεσία: Αθήνα, Αττική
Launchpad: eliasps
IRC: eliasps
Εκτύπωση

Re: Μαζική αποθήκευση κειμένου (html) και αντιγραφή σε .xlsx

Δημοσίευσηαπό Ilias95 » 20 Αύγ 2012, 23:00

What about using regular expressions?

Δεν φαίνεται να είναι κάτι δύσκολο.
Δεν ξέρω τι τρέχει με τις regular expressions στον bash, αλλά αν δεν έχεις ασχοληθεί έτσι κι αλλιώς και δεν υπάρχει και πρόβλημα στο τι θα χρησιμοποιήσεις για την υλοποίηση, θα σου πρότεινα να γράψεις ένα script σε python για να κάνεις την δουλειά σου εύκολα και γρήγορα.

Στον html κώδικα της συγκεκριμένης σελίδας η περιγραφή βρίσκεται πάντα στο div με id="tab1".
Οπότε να πως μπορεί να είναι μία regular expression:
Κώδικας: Επιλογή όλων
- Βρες που υπάρχει το string «div id="tab1"».
- Προχώρησε μέχρι να βρεις τον πρώτα χαρακτήρα ">".
- Από εκεί και πέρα κράτησε όλο το κείμενο μέχρι να συναντήσεις το string «<div» και σταμάτησε εκεί πέρα.

Ύστερα απ' το κείμενο που έχεις κρατήσει με την reg exp σβήνεις όλα τα "<br />" (με νέα reg exp ή στην python υπάρχει πιο εύκολος τρόπος με την μέθοδο replace()) και είσαι έτοιμος!

Ε και το να γράψεις την περιγραφή σε ένα αρχείο είναι 2 γραμμές:
Κώδικας: Επιλογή όλων

>>> description = "that's the description of the film\n"
>>> with open('myfile.txt', mode='a') as a_file:
... a_file.write(description)
...
>>>
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Μαζική αποθήκευση κειμένου (html) και αντιγραφή σε .xlsx

Δημοσίευσηαπό pmav99 » 20 Αύγ 2012, 23:32

@eliasps
Καθώς γνωρίζεις προγραμματισμό, δε νομίζω ότι θα ζοριστείς ιδιαίτερα να γράψεις ένα script-ακι που να κάνει αυτή τη δουλειά. Ότιδήποτε σε Perl/Python/Ruby σου κάνει. Και σε bash θα γίνεται αλλά νομίζω ότι για web scraping δεν είναι ό,τι καλύτερο.

Σε python το κείμενο της ιστοσελίδας θα μπορούσες να το πάρεις με το ακόλουθο snippet
Μορφοποιημένος Κώδικας: Επιλογή όλων
import urllib2

url = "http://www.pgcosmos.gr/movie.php?id=34946"

# We make a request at the server and it responds with a `response` object.
# We use the `read` method of the response object to get the page's source.
request = urllib2.Request(url)
response = urllib2.urlopen(request)
page_source = response.read()

print(page_source)
Υπάρχουν ειδικές βιβλιοθήκες για web-scraping (πχ BeautifulSoup, http://scrapy.org/ κτλ). Αλλά για κάτι τόσο απλό μπορείς να μείνεις και στη standard library της python). To πως θα "τσιμπάς" το τμήμα που σε ενδιαφέρει (συνάρτηση get_description), δεν έχω χρόνο να στο γράψω, αλλά το υπόλοιπό θα μπορούσε να γίνει κάπως έτσι
Μορφοποιημένος Κώδικας: Επιλογή όλων
#!/usr/bin/env python

import urllib2

FILENAME = "output.txt"
BASE_URL = "http://www.pgcosmos.gr/movie.php?id="

def get_page_source(url):
request = urllib2.Request(url)
response = urllib2.urlopen(request)
page_source = response.read()
return page_source

def get_description(page_source):
pass

def main():
for i in range(30000, 35000):
url = BASE_URL + str(i)
page_source = get_page_source(url)
description = get_description(page_source)

# We open a file in append mode and we write the text.
with open(FILENAME, "a") as f:
f.write(description)

if __name__ == "__main__":
main()
Δεν το έχω δοκιμάσει. Για τόσες πολλες ιστοσελίδες θα πάρει σίγουρα πολύ χρόνο... Ό,τι δεν καταλαβαίνεις, ρωτάς.
Τελευταία επεξεργασία από pmav99 και 21 Αύγ 2012, 13:38, έχει επεξεργασθεί 2 φορά/ες συνολικά
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Μαζική αποθήκευση κειμένου (html) και αντιγραφή σε .xlsx

Δημοσίευσηαπό simosx » 21 Αύγ 2012, 12:17

Υπάρχουν ήδη παρόμοια προγράμματα όπως το periscope όπου ψάχνει και βρίσκει υποτίτλους για τις ταινίες.
Μπορείς να δεις τον κώδικα σε τέτοια προγράμματα, ή ακόμα καλύτερα να ξεκινήσεις από τον κώδικα που δίνει ο pmav99.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Μαζική αποθήκευση κειμένου (html) και αντιγραφή σε .xlsx

Δημοσίευσηαπό eliasps » 22 Αύγ 2012, 00:15

Σας ευχαριστώ όλους για τις απαντήσεις.

Σκεφτόμουν ότι όλη η δουλειά θα μπορούσε να γίνει με Bash, αλλά αφού προτείνετε την Python, θα προσπαθήσω να το κάνω έτσι.
Αρχικά θα ξεκινήσω με τον κώδικα που δίνει ο pmav99 και βλέπουμε. Αν συναντήσω κάποιο πρόβλημα, θα το αναφέρω σε νέα δημοσίευση.

Σας ευχαριστώ και πάλι!
Άβαταρ μέλους
eliasps
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4017
Εγγραφή: 16 Δεκ 2011, 22:25
Τοποθεσία: Αθήνα, Αττική
Launchpad: eliasps
IRC: eliasps
Εκτύπωση

Re: Μαζική αποθήκευση κειμένου (html) και αντιγραφή σε .xlsx

Δημοσίευσηαπό pmav99 » 22 Αύγ 2012, 01:04

Δύο Παρατηρήσεις.

1. Όσον αφορά τα request/response εκτός από τα modules urllib/urllib2 που υπάρχουν στην standard library, πλέον υπάρχει η βιβλιοθήκη requests η οποία μάλλον κάποια στιγμή θα μπει στη standard library και θα τα αντικαταστήσει. Για να πάρεις απλά το html source της ιστοσελίδας δεν προσφέρει κάποιο πλεονέκτημα και έτσι δεν το χρησιμοποιήσα για να μην προσθέσω dependency.

2. Το scrapy είναι ακριβώς φτιαγμένο για τη δουλειά που θέλεις να κάνεις. Λίγο που κοίταξα το documentation είναι αρκετά high level οπότε δε θα είναι ιδιαίτερα δύσκολο, αλλά δεν το έχω χρησιμοποιήσει ποτέ. Για την περίπτωση σου μάλιστα, μάλλον θα είναι αρκετά απλό. Αν θελεις, δες το documentation. Μιας και δεν έχεις καθόλου εμπειρία με python όμως ίσως είναι καλύτερα (από διδακτικής τουλάχιστον πλευράς) να προσπαθήσεις να το κάνεις με πιο "μανιβελέ" τρόπο.
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση


Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι