[LÖST] Spara och sortera information från en webbsida?

Här diskuteras programmering och utveckling
Yuh Learn
Inlägg: 49
Blev medlem: 30 nov 2007, 02:20
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Uppsala

[LÖST] Spara och sortera information från en webbsida?

Inlägg av Yuh Learn »

Hej!

Jag har ett problem som jag försöker lösa. Jag har kommit på en potentiell lösning, men jag vet för det första inte om man FÅR göra så här.

Till att börja med ska jag förklara problematiken - som förvisso är ganska simpel. Jag vill kunna bläddra i Filmbutiken.se:s sortiment, men deras webbsida tillåter inte det. Sökfunktionen är ytterst bristfällig (testa själva). Jag har mailat folket på Filmbutiken.se och frågat om det, men fick ingen lösning i deras svar.

För att lösa detta funderar jag på hur jag kan hämta hem informationen på eget vis, med några rader kod (helst Bash eller Python, som jag har lite erfarenhet av). Jag kan egentligen ingenting om det här men jag har kommit fram till att man borde kunna få fram hela registret om man bara ändrar id-numret i slutet av url:en http://www.filmbutiken.se/15/page.asp?p ... oduct_id=8 . Jag vet bara inte hur jag enkelt kan spara informationen och ordna den på ett överskådligt sätt när den väl når min dator.

Tankar och idéer?
Senast redigerad av 1 Yuh Learn, redigerad totalt 23 gånger.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Spara och sortera information från en webbsida?

Inlägg av Konservburk »

Yuh Learn skrev:Jag har ett problem som jag försöker lösa. Jag har kommit på en potentiell lösning, men jag vet för det första inte om man FÅR göra så här.
Det har jag ingen aning om. Jag kan tänka mig att det åtminstone är ok så länge du bara använder den insamlade datan för eget personligt bruk. Men jag vet som sagt egentligen inte hur det faktiskt ligger till.
Yuh Learn skrev:Jag vet bara inte hur jag enkelt kan spara informationen och ordna den på ett överskådligt sätt när den väl når min dator.
Du vill nog helst få in informationen i en databas.
jsiei97
Inlägg: 309
Blev medlem: 09 dec 2008, 21:34
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Trelleborg

Re: Spara och sortera information från en webbsida?

Inlägg av jsiei97 »

Yuh Learn skrev: För att lösa detta funderar jag på hur jag kan hämta hem informationen på eget vis, med några rader kod (helst Bash eller Python, som jag har lite erfarenhet av). Jag kan egentligen ingenting om det här men jag har kommit fram till att man borde kunna få fram hela registret om man bara ändrar id-numret i slutet av url:en http://www.filmbutiken.se/15/page.asp?p ... oduct_id=8 . Jag vet bara inte hur jag enkelt kan spara informationen och ordna den på ett överskådligt sätt när den väl når min dator.
Konservburk skrev:
Yuh Learn skrev:Jag vet bara inte hur jag enkelt kan spara informationen och ordna den på ett överskådligt sätt när den väl når min dator.
Du vill nog helst få in informationen i en databas.
Om du gillar python och dessutom behöver en databas lite kvickt, så har python sqlite inbyggt
* http://docs.python.org/library/sqlite3.html

1. Ta hem
2. tolka
3. spara undan
4. och sedan kan du söka i databasen...

/Johan
jsiei97
Inlägg: 309
Blev medlem: 09 dec 2008, 21:34
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Trelleborg

Re: Spara och sortera information från en webbsida?

Inlägg av jsiei97 »

Beror lite på hur informationen ser ut och hur regelbunden den är...

Kod: Markera allt

curl "http://filmbutiken.se/15/page.asp?page_id=6755&type=custom/filmprod&sub_nr=102&product_id=18" | html2text -style pretty 
Men ovan ger dig en mer "normal" textmassa/sida att jobba med... den raden kan ligga i mitten av skriptet.
Och direkt efter så går du över denna data och tolkar och lagrarar undan... ::)
Användarvisningsbild
Substrata
Inlägg: 71
Blev medlem: 13 apr 2010, 11:01
OS: Arch Linux
Utgåva: Vet inte/ingen utgåva passar

Re: Spara och sortera information från en webbsida?

Inlägg av Substrata »

Om du använder en vettig html/dom-parser för att plocka ut relevanta delar ur html-sidor kan du förhållandevis enkelt spara de relevanta delarna av sidorna lokalt för enkla uppslag. Har dock inga rekommendationer på området då jag enbart använt Hpricot för Ruby och i övrigt drar mig för *sh-scripting. Annars har wget och säkert andra verktyg funktionalitet för att spegla hela siter med omvandling av länkar så att de fungerar för lokal läsning.

Själv har jag rlslog.net i min RSS-läsare för att få nys om intressanta filmer.
Användarvisningsbild
jens.tinfors
Inlägg: 49
Blev medlem: 18 dec 2009, 17:09
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm
Kontakt:

Re: Spara och sortera information från en webbsida?

Inlägg av jens.tinfors »

Du skulle kunna göra något i stil med detta i ruby för att skriva ner varje film till sin egen fil..

Kod: Markera allt

require 'open-uri'
(1..10).each do |n|
  File.open("film_#{n}", 'w') do |f|
    f.write(URI.parse("http://filmbutiken.se/15/page.asp?page_id=6755&type=custom/filmprod&sub_nr=102&product_id=#{n}").read)
  end
end
Som strata skrev ovan så kan du parse'a sidorna med hpriot för att få ut intressanta delar. Men allt beror såklart på vad du ska ha datat till..
Yuh Learn
Inlägg: 49
Blev medlem: 30 nov 2007, 02:20
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Uppsala

Re: Spara och sortera information från en webbsida?

Inlägg av Yuh Learn »

Tack ska ni ha! Avsikten är helt och hållet att använda informationen för privat bruk, på min dator och ingen annanstans, för att få en komplett bild av vad de har i sitt sortiment (+ att det är skoj)!

Det blir Python har jag bestämt mig för nu och jag har börjat leka lite med ett script; testar bland annat att ta hem sidor och läsa ut data. Det lutar åt att spara allt i en databas, som jsiei97 föreslår, men jag vet inte om det är bra att spara allt i html på hårddisken till att börja med. Det rör sig om uppemot 6000 titlar, verkar det som.

Det är på den här nivån jag håller på nu:

Kod: Markera allt

import urllib

filename = "test.html"
url = "http://"
x = 1

while x <= 5:
	url = "http://filmbutiken.se/15/page.asp?page_id=6755&type=custom/filmprod&sub_nr=102&product_id=" + str(x)
	filename = "test" + str(x) + ".html"
	
	filehandle = urllib.urlopen(url)
	myFile = open(filename,'w')

	print filename + "	" + url

	for lines in filehandle.readlines():
		myFile.write(lines)
	x = x + 1

myFile.close()
filehandle.close()
Ska forska vidare...
jsiei97
Inlägg: 309
Blev medlem: 09 dec 2008, 21:34
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Trelleborg

Re: Spara och sortera information från en webbsida?

Inlägg av jsiei97 »

Yuh Learn skrev:Det blir Python har jag bestämt mig för nu och jag har börjat leka lite med ett script; testar bland annat att ta hem sidor och läsa ut data. Det lutar åt att spara allt i en databas, som jsiei97 föreslår, men jag vet inte om det är bra att spara allt i html på hårddisken till att börja med. Det rör sig om uppemot 6000 titlar, verkar det som.
Spara inte alla html-sidor.
Jobba bara med en sida i sänder (och kasta den när du är klar med den).
Användarvisningsbild
dmz
Inlägg: 3292
Blev medlem: 29 jul 2008, 19:42
OS: Arch Linux

Re: Spara och sortera information från en webbsida?

Inlägg av dmz »

Om du, som jag, är lite skraj för stora mäktiga databaser, så kanske
http://en.wikipedia.org/wiki/Comma-separated_values kan vara något.
Jag vet ingenting om riktiga databaser, men det kan inte bli enklare än att
jobba med CSV, både vad gäller hämtning/parsning av information och själva
skrivandet av densamma.

Jag skulle ha skapat en hash (associativ array) i stil med;

Kod: Markera allt

%movies = (
  'En gång i sommar'  => {
    year    => 1992,
    origin  => 'sweden',
    time    => '91',  # minuter
    media   => 'vhs',
  },
  'Gladpack vol 2'    => {
    year    => 2004,
    origin  => 'sweden',
    time    => '300', # minuter
    media   => 'dvd',
  },
);
Detta är Perl, en hash innehållandes en hash (eller, hashref, för att vara
korrekt).

Du skriver givetvis inte in all information manuellt, utan detta tar du från
din databas eller CSV.

För övrigt en liten undran; Varför vill du göra detta egentligen? Om det är
filminformation du vill åt så är IMDB betydligt mer reliable. :)

Edit:
Varför blir indenteringen alltid helt trasig på det här forumet?
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
Yuh Learn
Inlägg: 49
Blev medlem: 30 nov 2007, 02:20
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Uppsala

Re: Spara och sortera information från en webbsida?

Inlägg av Yuh Learn »

dmz skrev:Om du, som jag, är lite skraj för stora mäktiga databaser, så kanske
http://en.wikipedia.org/wiki/Comma-separated_values kan vara något.
Jag vet ingenting om riktiga databaser, men det kan inte bli enklare än att
jobba med CSV, både vad gäller hämtning/parsning av information och själva
skrivandet av densamma.

Jag skulle ha skapat en hash (associativ array) i stil med;

Kod: Markera allt

%movies = (
  'En gång i sommar'  => {
    year    => 1992,
    origin  => 'sweden',
    time    => '91',  # minuter
    media   => 'vhs',
  },
  'Gladpack vol 2'    => {
    year    => 2004,
    origin  => 'sweden',
    time    => '300', # minuter
    media   => 'dvd',
  },
);
Detta är Perl, en hash innehållandes en hash (eller, hashref, för att vara
korrekt).

Du skriver givetvis inte in all information manuellt, utan detta tar du från
din databas eller CSV.

För övrigt en liten undran; Varför vill du göra detta egentligen? Om det är
filminformation du vill åt så är IMDB betydligt mer reliable. :)

Edit:
Varför blir indenteringen alltid helt trasig på det här forumet?
Tack för tipset. Jag vill veta vad de har i sin butik helt enkelt! Som sagt så är deras sökfunktion värdelös, man kan inte bläddra bland titlarna och man hittar ingenting.

Själva skrivandet till databas borde inte bli något större problem, men jag vet inte hur jag ska lyckas läsa ut rätt information från sida 1 till 6000 (eller vad det nu blir). Html2text (http://www.aaronsw.com/2002/html2text/) ska kunna göra om html till markdown, vilket jag tycker låter som en bra utgångspunkt för att underlätta informationsutläsandet, men jag har inte fått det att funka alls.

Då går alltså texten till det här...

Kod: Markera allt

![][1]

   [1]: http://common.name2sell.com/pixels/pixel.gif

![][1]

Dokument Fanny och Alexander - VHS

_VHS_

![][2]

   [2]: http://common.name2sell.com/pixels/pixel.gif

![][3]

![][4]

   [3]: http://www2.filmbutiken.se/filmimg/40.jpg

   [4]: http://common.name2sell.com/pixels/pixel.gif

Produktionsĺr:


1986

Land:


Sverige

Speltid:


1 tim 50 min.

Regissör:


[Ingmar Bergman][5]

   [5]:
page.asp?page_id=6755&type=custom/filmprod&sub_nr=101&txtSearch=Ingmar+Bergman

Artikelnr:


40


**85 kr**


 st

![][6]



Regissören Ingmar Bergman i aktion när han instruerar sina skĺdespelare i
Fanny och Alexander, den största svenska filmproduktionen genom tiderna. Han
har själv valt ut detta axplock och mycket i filmen kretsar kring hans eget
personliga förhĺllande till rollfiguren Alexander, som framstĺr som hans alter
ego.



[Tillbaka...][7]



   [6]: http://common.name2sell.com/pixels/pixel.gif

   [7]: javascript:void(null)

...typ, från det här...

Kod: Markera allt

<html>
<head>

<title>Filmbutiken</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<STYLE>

.commontext {color:#333333; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9pt; }

.headingtext {color:#333333; font-family:Trebuchet MS, Helvetica, sans-serif; font-size:14pt; }

.imagetext {color:#333333; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9pt; font-style:italic;}

.smalltext {color:#333333; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:7pt; }

.bigtext {color:#333333; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12pt; font-weight:bold;}

.columntext {color:#000000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:7pt; }

.adresstext {color:#000000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:8pt; }

.linktext {color:#000000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9pt; font-weight:bold;}
a {color:#000000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9pt; font-weight:bold;text-decoration: none;}
a:visited {color:#000000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9pt; font-weight:bold;text-decoration: none;}
a:hover {color:#000000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9pt; font-weight:bold;text-decoration: none;}
a:active {color:#000000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9pt; font-weight:bold;text-decoration: none;}
</STYLE>


<script type="text/javascript">
function IsImageOk(img) {
	if (!img.complete) {
		return false;
	}
	if (typeof img.naturalWidth != 'undefined' && img.naturalWidth == 0) {
		return false;
	}
	return true;
}
function checkImages() {
	for (var i = 0; i < document.getElementsByTagName('img').length; i++) {
		if (!IsImageOk(document.getElementsByTagName('img')[i])) {
			document.images[i].src = '/page/custom/filmprod/images/no_image_large.gif';
		}
		document.images[i].style.display = '';
	}
}
if (window.addEventListener){
	window.addEventListener('load', function OnLoad() { checkImages(); }, true);
}
else if (window.attachEvent){
	window.attachEvent('onload', function() { checkImages(); });
}



var historyCount;
historyCount = -1;

function checkInt(intValue, allowNullFlag) {
	var i, oneChar, inputStr;
	if (intValue == null || intValue == "") return allowNullFlag;
	inputStr = intValue.toString();
	for (i = 0; i < inputStr.length; i++) {
		oneChar = inputStr.charAt(i);
		if (oneChar < "0" || oneChar > "9")
			return false;
	}
	return true;
}

function checkCartSubmitInput(form_obj) {
	if (!checkInt(form_obj.quantity.value, false)) {
		alert("Antal produkter måste anges med endast siffror!");
		form_obj.quantity.focus();
		return false;
	}
	historyCount = historyCount - 1;
	return true;
}

</script>
<style type="text/css">
IMG {
	border: 0;
}
</style>

</head>

<body bgcolor="#ffffff" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<img src="http://common.name2sell.com/pixels/pixel.gif" width="2" height="17"><br>

<table cellpadding="0" cellspacing="0" border="0">
<tr><td><img src="http://common.name2sell.com/pixels/pixel.gif" width="35" height="2"></td>
<td valign="top" width="720">

	<span class="bigtext">Dokument Fanny och Alexander - VHS</span><br />
	<span class="commontext">
		<i>VHS</i></span><br />

	<img src="http://common.name2sell.com/pixels/pixel.gif" width="2" height="12"><br />
	<table cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td valign="top">
				<img src="http://www2.filmbutiken.se/filmimg/40.jpg" alt=""><br />
			</td>
			<td width="20">
				<img src="http://common.name2sell.com/pixels/pixel.gif" width="20" height="1"><br />
			</td>

			<td valign="top" class="commontext">
				<table cellpadding="0" cellspacing="0" border="0" class="smalltext" style="line-height: 14px;">
					
	<tr><td valign="top">Produktionsår:</td><td width="20"> </td><td valign="top">1986</td></tr>
	
	<tr><td valign="top">Land:</td><td width="20"> </td><td valign="top">Sverige</td></tr>
	
	<tr><td valign="top">Speltid:</td><td width="20"> </td><td valign="top">1 tim 50 min.</td></tr>
	
	<tr><td valign="top">Regissör:</td><td width="20"> </td><td valign="top"><a href="page.asp?page_id=6755&type=custom/filmprod&sub_nr=101&txtSearch=Ingmar+Bergman" class="smalltext" style="font-size: 10px;">Ingmar Bergman</a></td></tr>

	
	<tr><td valign="top">Artikelnr:</td><td width="20"> </td><td valign="top">40</td></tr>
	
				</table>
				<br />
				<b style="font-size:15px;">85 kr</b><br>
				<br />
				<form action="/15/contact_ecom3.asp?page_id=6750" target="contact389" method="post" name="ecom3_form" style="{margin: 0px;}" onSubmit="return checkCartSubmitInput(ecom3_form)">
				<input type="hidden" name="page_id" value="6750">

				<input type="hidden" name="type" value="ecom3">
				<input type="hidden" name="sub_nr" value="2">
				<input type="hidden" name="item_id" value="5">
				<input type="hidden" name="action" value="filmpost">

					<table cellpadding="0" cellspacing="0" border="0">
						  <tr>
							  <td class="commontext">
								<input type="text" size="2" value="1" name="quantity" style="height:20px;"> st<br />

							</td>
							  <td width="10">
								<img src="http://common.name2sell.com/pixels/pixel.gif" width="10" height="1"><br />
							</td>
							<td valign="top">
								<input type="image" src="/page/custom/filmprod/images/b_add_to_cart.gif" border="0"><br />
							</td>
						  </tr>
					</table>

				</form>
				<br />
				Regissören Ingmar Bergman i aktion när  han instruerar sina skådespelare i Fanny och Alexander, den största  svenska filmproduktionen genom tiderna. Han har själv valt ut detta  axplock och mycket i filmen kretsar kring hans eget personliga  förhållande till rollfiguren Alexander, som framstår som hans alter ego.
				<br />
				<br />
				
			</td>
		</tr>
	</table>
	<br />

	<a href="javascript:void(null)" onClick="window.history.go(historyCount); return false">Tillbaka...</a><br />
	<br />
	
	</td>
	<td width="20"> </td>
	<td valign="top">

</td></tr>
</table>
<span class="commontext"><br></span>
<script type="text/javascript" src="http://include.reinvigorate.net/re_.js"></script>

<script type="text/javascript">
re_("jp36m-6n76734418");
</script>
</body>
</html>
Vad tror ni? Jag har inte en blek om hur jag ska göra...
Användarvisningsbild
dmz
Inlägg: 3292
Blev medlem: 29 jul 2008, 19:42
OS: Arch Linux

Re: Spara och sortera information från en webbsida?

Inlägg av dmz »

Varför vill du handla hos dem om de inte ens kan ha en vettig sökfunktion?
Får du rabatt när du gör deras arbete själv? :p

Nåväl.

Använd en riktig¹ html-parser, jag vet inget om python men en snabb sökning ger
t.ex http://docs.python.org/library/htmlparser.html som borde duga.

Angående de 6000 sidorna. Ange en interval i ditt script eller som argument.
Beroende på hur du kodar så kan du också använda skalets expansionsmöjligheter:

Kod: Markera allt

http://myurl.com/foo{0..6000}

¹Att förlita sig på os.system() för något sådant här är ungefär den största
synden av dem alla.
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
Yuh Learn
Inlägg: 49
Blev medlem: 30 nov 2007, 02:20
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Uppsala

Re: Spara och sortera information från en webbsida?

Inlägg av Yuh Learn »

dmz skrev:Varför vill du handla hos dem om de inte ens kan ha en vettig sökfunktion?
Får du rabatt när du gör deras arbete själv? :p
Hehe, jag har hittat en del spännande grejer där förut, men framförallt så ser jag det som en utmaning - jag backar inte när saker inte funkar som jag vill! ::)
dmz skrev:Nåväl.

Använd en riktig¹ html-parser, jag vet inget om python men en snabb sökning ger
t.ex http://docs.python.org/library/htmlparser.html som borde duga.

Angående de 6000 sidorna. Ange en interval i ditt script eller som argument.
Beroende på hur du kodar så kan du också använda skalets expansionsmöjligheter:

Kod: Markera allt

http://myurl.com/foo{0..6000}

¹Att förlita sig på os.system() för något sådant här är ungefär den största
synden av dem alla.


För det första vet jag inte vad du menar med att "förlita sig på os.system()" (jag är nybörjare, som ni kanske märker). För det andra har jag lagt html2text bakom mig, och har istället tagit mig an Beautiful Soup (http://www.crummy.com/software/BeautifulSoup/) och faktiskt lyckats hämta filmtitlarna. Så nu kan jag åtminstone göra en lista med filmtitlar. Yay! Däremot lyckas jag inte kräma ur någon annan vettig information. Men jag forskar vidare...

Koden för att hämta en filmtitel kan se ut ungefär så här

Kod: Markera allt

from BeautifulSoup import BeautifulSoup
import urllib

url = "http://filmbutiken.se/15/page.asp?page_id=6755&type=custom/filmprod&sub_nr=102&product_id=1"
filename = "test/test1"

# Get a file-like object from 'url'.
myUrl = urllib.urlopen(url)

# Read from the object, storing the page's contents in 'myContent'.
myContent = myUrl.read()

# 
soup = BeautifulSoup(''.join(myContent))

# Get the film title and print it.
filmTitle = soup.body.table.span.string
print filmTitle
Användarvisningsbild
dmz
Inlägg: 3292
Blev medlem: 29 jul 2008, 19:42
OS: Arch Linux

Re: Spara och sortera information från en webbsida?

Inlägg av dmz »

Yuh Learn skrev:
dmz skrev:Varför vill du handla hos dem om de inte ens kan ha en vettig sökfunktion?
Får du rabatt när du gör deras arbete själv? :p
men framförallt så ser jag det som en utmaning - jag backar inte när saker inte funkar som jag vill! ::)
Hey! Det är det bästa skälet, det. Lycka till. :)
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
Yuh Learn
Inlägg: 49
Blev medlem: 30 nov 2007, 02:20
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Uppsala

Re: Spara och sortera information från en webbsida?

Inlägg av Yuh Learn »

Vid vissa tillfällen när jag ska hämta information får jag felmeddelandet "IndexError: list index out of range", exempelvis när jag ska hämta information från en sida som saknar information (se http://www.filmbutiken.se/15/page.asp?p ... ct_id=6000). Inget konstigt med det, men jag vet inte hur jag ska göra för att upptäcka IndexError innan jag försöker hämta informationen (som inte finns). Alltså, typ: if hämtaInformation =! IndexError: hämtaInformation. Hur gör jag det?
Yuh Learn
Inlägg: 49
Blev medlem: 30 nov 2007, 02:20
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Uppsala

Re: Spara och sortera information från en webbsida?

Inlägg av Yuh Learn »

Okej! Det verkar som att mitt script klarar att hämta all relevant information, ignorera tomma fält och sidor samt skriva ut informationen i den ordning jag vill ha den. Nu har jag bara kvar att spara informationen i en databas.

Jag funderar på om jag inte ska använda SQlite då jag misstänker att det kan bli problem med olika tecken (eventuella citattecken som kan förstöra, m m) om jag skulle använda CSV. Vad tror ni? Jag har inte erfarenhet av någotdera.

Funderar också på hur jag ska läsa ut informationen sen när jag har den i en databas. :S
Användarvisningsbild
Substrata
Inlägg: 71
Blev medlem: 13 apr 2010, 11:01
OS: Arch Linux
Utgåva: Vet inte/ingen utgåva passar

Re: Spara och sortera information från en webbsida?

Inlägg av Substrata »

Du kan alltid lagra data i textuell form med Base64-kodning. Du kan också använda Yaml för att serialisera olika former av strukturerad data om du inte vill använda en databas. Yaml är oberoende av plattform och väl lämpat för dynamiska språk. I Ruby, och förmodligen också Python, är det mycket enkelt att skriva och läsa strukturerad data (allt från kombinationer av tal, strängar, arrays, dictionaries - till hela objekt) till och från variabler.
Senast redigerad av 1 Substrata, redigerad totalt 22 gånger.
Användarvisningsbild
Substrata
Inlägg: 71
Blev medlem: 13 apr 2010, 11:01
OS: Arch Linux
Utgåva: Vet inte/ingen utgåva passar

Re: Spara och sortera information från en webbsida?

Inlägg av Substrata »

Yuh Learn skrev:
dmz skrev:Att förlita sig på os.system() för något sådant här är ungefär den största synden av dem alla.
För det första vet jag inte vad du menar med att "förlita sig på os.system()" [...]
System(3) är en del ax POSIX-standarden och används för att från ett program exekvera andra program med hjälp av /bin/sh. Du kan läsa mer om det genom att köra man 3 system i skalet. Man undviker vanligtvis att använda system(3) av säkerhetsskäl eftersom det är lätt att "lura programmet" att göra andra saker genom att sätta olika miljövariabler som /bin/sh i sin tur använder.
Yuh Learn
Inlägg: 49
Blev medlem: 30 nov 2007, 02:20
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Uppsala

Re: Spara och sortera information från en webbsida?

Inlägg av Yuh Learn »

Substrata skrev:
Yuh Learn skrev:
dmz skrev:Att förlita sig på os.system() för något sådant här är ungefär den största synden av dem alla.
För det första vet jag inte vad du menar med att "förlita sig på os.system()" [...]
System(3) är en del ax POSIX-standarden och används för att från ett program exekvera andra program med hjälp av /bin/sh. Du kan läsa mer om det genom att köra man 3 system i skalet. Man undviker vanligtvis att använda system(3) av säkerhetsskäl eftersom det är lätt att "lura programmet" att göra andra saker genom att sätta olika miljövariabler som /bin/sh i sin tur använder.
Tack ska du ha för den matnyttiga information. Jag har hämtat datan med BeautifulSoup-modulen och sparat den i en SQLite3-databas, samt kommit igång med SQLite. Känner mig med andra ord nöjd och glad!
Skriv svar

Återgå till "Programmering och webbdesign"