WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hämta data från annan sida (https://www.wn.se/forum/showthread.php?t=1058787)

Legendarisk 2013-08-13 14:58

Hämta data från annan sida
 
Hur kan man enklast hämta data från en annan webbplats? För att vara mer specifik, hur skulle man kunna hämta pris på en given produkt från exempelvis CDONs sida?

Nerix 2013-08-13 15:11

  • Hämta data från CDON
  • Matcha ut informationen du vill ha m.h.a ett HTML-parserverktyg.

Legendarisk 2013-08-13 16:20

Nerix ditt svar ger tyvärr inte så mkt att gå på.

Men det jag testar på nu är att köra file_get_contents från sidan för att sedan köra en preg_match för att hitta rätt data.

Legendarisk 2013-08-13 16:57

Ok, jag vill försöka få ut innehåller mellan span taggarna och har knåpat ihop ett regex som jag sedan kör i preg_match.

Dock ger denna inte det jag vill iutan tar med saker efter mm. Någon som ser vart jag gör fel?



Kod:

preg_match("#<span.*?id=\"priceTag\">(.*?)</span>#", $content, $matches);
$matches spottar ur sig en array med två värden, där inget av dessa är helt korrekt, allts enbart det som finns mellan span-taggarna.

danjel 2013-08-13 16:58

Du är på rätt spår,
testa annars en färdig klass
http://simplehtmldom.sourceforge.net/

Är bäst att fråga dem om det är OK..

Legendarisk 2013-08-13 17:36

Det funkar nu med koden ovan :).

Jo förstår det, men vad är egentligen probelmet att göra på detta sätt? Att jag segar ner deras sida eller vad?

captaindoe 2013-08-13 18:09

Det är olagligt att skrapa någon annans hemsida på det sättet. För att hämta ut information från t.ex CDON så kan du ansöka till deras affiliate program som finns på TradeDoubler.

Legendarisk 2013-08-13 18:23

Ok så pass :). Då ska jag givetvis inte göra på detta sätt, plus att det skulle slöa ner sidan helt och hållet.

Legendarisk 2013-08-13 21:06

Någon som har något bra tips att hämta data från andra som inte har affiliateprogram. Mer än att fråga dem då. Och om man nu frågar, hur ska man be att få den datan?

Nerix 2013-08-13 21:18

Citat:

Ursprungligen postat av captaindoe (Inlägg 20475446)
Det är olagligt att skrapa någon annans hemsida på det sättet. För att hämta ut information från t.ex CDON så kan du ansöka till deras affiliate program som finns på TradeDoubler.

Nej, det är inte olagligt.

nosnaj 2013-08-13 21:24

Citat:

Ursprungligen postat av Nerix (Inlägg 20475457)
Nej, det är inte olagligt.

Du får inte sno data från sidor hur som helst, läs om katalogskydd.

Enklast är ju att bara maila sidans ansvariga och fråga om det finns något API eller om det är okej att på egen hand hämta data.

Nerix 2013-08-13 21:27

Citat:

Ursprungligen postat av nosnaj (Inlägg 20475458)
Du får inte sno data från sidor hur som helst, läs om katalogskydd..

Det är vad du gör med informationen som är relevant.

Katalogskydd är dessutom bara applicerbart på stora mänger data, inte enstaka prisuppgifter som TS samlar in.

EDIT: Här har du lite mer information inom ämnet: https://lagen.nu/dom/nja/1985s813

digiArt 2013-08-13 21:47

Prova http://cdon.com/xml_files/

Legendarisk 2013-08-14 09:56

Borde inte vara olagligt att hämta pris på produkter som du promotear till sidan. Dock är det alldeles för segt att köra på det sätt jag beskrev innan.

Att hämta någon xml fil eller liknande sen ladda data från den vore väldigt smidigt.

allstars 2013-08-14 10:08

Det du hämtar få du ju cacha eller mellanlagra i databas, inte hämta vid varje request som görs på din sida.

oloflolof 2013-08-14 10:24

Citat:

Ursprungligen postat av Legendarisk (Inlägg 20475456)
Någon som har något bra tips att hämta data från andra som inte har affiliateprogram. Mer än att fråga dem då. Och om man nu frågar, hur ska man be att få den datan?

Json eller Xml-fil över alla produkter är ett ganska trevligt alternativt istället för att skrapa domen.

// Olof

Legendarisk 2013-08-14 10:48

Lutar åt xml hållet. Hur hämtas denna smidigast och hur ofta om sidan inte har någon API?

Tsarraz 2013-08-14 11:21

Beror på hur ofta den verkar uppdateras och hur viktig den är för dig

Enklast med ett CRON jobb

hnn 2013-08-14 13:07

Citat:

Ursprungligen postat av Nerix (Inlägg 20475460)
Det är vad du gör med informationen som är relevant.

Katalogskydd är dessutom bara applicerbart på stora mänger data, inte enstaka prisuppgifter som TS samlar in.

EDIT: Här har du lite mer information inom ämnet: https://lagen.nu/dom/nja/1985s813

Då har vi en annan lag som är applicerbar.

Innehållet på CDONs webbplats uppfyller upphovsrättslagen. Och därmed är den skyddad.

Ett exempel är tex. Allaannonser vs. Blocket.

Norman 2013-08-16 07:17

TS är inte skyddad.
Sidan uppnår verkshöjd och att ta prisinformation utan godkännande kan bryta mot både katalogskydd och upphovsrätt.

Det är alltså inte tillåtet att fritt screjpa.
Samma gäller adresser och annat i publika register.
"men vadå det är ju fritt tillgängligt" kan vissa hävda.
Ja, men det är sammanställningen som tagit tid och uppnått katalogskydd.

Citat-rätt ger möjlighet att citera enstaka prisuppgifter från CDON.
Men du kan inte ta "alla" priser rakt av och visa på separat sida om du inte först hanterar prisuppgifterna på ett sätt så du uppnår egen verkshöjd.

Dvs, screjpa produktinfo + pris är inte tillåtet.
Men föra in produkter manuellt och därefter citera pris kan vara det i rimlig mängd.

Legendarisk 2013-08-16 09:37

Dock så borde det inte vara svårt att få ok då det gynnar sidan man gör det av (affiliate).

Men, att "citera" som du säger lär ju knappast vara olagligt? Man lär ju få skriva ned vilka priser de har på sina produkter eller?

Citat:

Ursprungligen postat av Norman (Inlägg 20475633)
Dvs, screjpa produktinfo + pris är inte tillåtet.
Men föra in produkter manuellt och därefter citera pris kan vara det i rimlig mängd.


nosnaj 2013-08-16 09:50

Enklast är att maila Cdon och fråga om det du vill göra är okej, så länge det inte missgynnar dom ser jag ingen anledning till varför de ska säga nej.

tec 2013-08-16 14:18

Ständigt detta tjat om att skrapning är olagligt. Det är det inte, har aldrig varit, och kommer aldrig att bli.

Skrapning är bara processen då data hämtas in. Det är vad man gör med datan som spelar roll. Olagligt här skulle vara att göra en exakt kopia på det verk eller databas du har tillförskaffat genom skrapning, och ta cred för det.

Detta är ju inte vad du tänker göra med datan. Det du tänker göra har du rätt att göra genom citaträtten - en inskränkning i upphovsrätten - som lyder:

"Var och en får citera ur offentliggjorda verk i överensstämmelse med god sed och i den omfattning som motiveras av ändamålet." - Upphovsrättslagen paragraf 22

Vad som sägs är helt enkelt att du får citera saker så länge du hänvisar till orginalkällan.

Vi ska ju också komma ihåg att vår allas stora internetjätte gör exakt detta. Skrapar, citerar och hänvisar. De använder sig av just denna rad i lagen för att få lagstöd.

Skulle ett vinstdrivande företag sätta sig emot att bli citerade, på det här sättet, så skulle iaf jag undra vad de håller på med.

hnn 2013-08-16 14:28

Well... Det är olagligt.

Om det inte är ett brott mot upphovsrättslagen, så är det iaf Medhjälp till brott mot upphovsrättslagen.

Insamlingen / Kopierandet av datan är ett medvetet beslut att stjäla upphovsrättsskyddat material.

Det kan du inte argumentera emot.

linusoleander 2013-08-17 00:45

Citat:

Ursprungligen postat av hnn (Inlägg 20475658)
Well... Det är olagligt.

Om det inte är ett brott mot upphovsrättslagen, så är det iaf Medhjälp till brott mot upphovsrättslagen.

Insamlingen / Kopierandet av datan är ett medvetet beslut att stjäla upphovsrättsskyddat material.

Det kan du inte argumentera emot.

Upphovsrättsskyddet är inte applicerbart på allt. Senast läste jag att recept te.x var exkluderat. Priserna presenterade hos ONOFF är definitivt inte upphovsrättsskyddade. I riktigt stora mänger kan de falla under katalogskyddet, men de vill sig mycket till.

hnn 2013-08-19 08:32

Citat:

Ursprungligen postat av linusoleander (Inlägg 20475694)
Upphovsrättsskyddet är inte applicerbart på allt. Senast läste jag att recept te.x var exkluderat. Priserna presenterade hos ONOFF är definitivt inte upphovsrättsskyddade. I riktigt stora mänger kan de falla under katalogskyddet, men de vill sig mycket till.

Recept är inte skyddat av upphovsrättslagen då det inte uppfyller verkshöjd.
Men en produktpresentation/produkttext uppfyller verkshöjd.

linusoleander 2013-08-19 10:44

Citat:

Ursprungligen postat av hnn (Inlägg 20475785)
Recept är inte skyddat av upphovsrättslagen då det inte uppfyller verkshöjd.
Men en produktpresentation/produkttext uppfyller verkshöjd.

Vem har sagt något om en presentation? De va ju ett pris som skulle hämtas.

Legendarisk 2013-08-19 12:33

Precis vi snackar om att hämta pris, måste finnas någon här som gjort något liknande och har tips på hur man underviker massa manuellt arbete.

Nihilnovi 2013-08-19 12:46

Citat:

Ursprungligen postat av Legendarisk (Inlägg 20475814)
Precis vi snackar om att hämta pris, måste finnas någon här som gjort något liknande och har tips på hur man underviker massa manuellt arbete.

Ja jag har gjort detta ett dussintals gånger och använder https://github.com/fabpot/Goutte.

Den använder Guzzle och Symfony 2 Dom Crawler - http://symfony.com/doc/current/compo...m_crawler.html.

Att hämta data är enkelt, att spara och organisera denna är det svåra och det finns inget definitivt svar på vilket sätt som är bäst- beror helt på vad det är du försöker göra. Om du känner dig osäker så ska du kanske outsourca det till någon som har erfarenhet just inom detta.

Legendarisk 2013-08-20 08:11

Tack för ditt svar nihilnovi, ska kika igenom det och se vad jag kan snickra ihop :)


Alla tider är GMT +2. Klockan är nu 11:55.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson