WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Skrapa Ajax genererad content. (https://www.wn.se/forum/showthread.php?t=1053132)

50inches 2012-04-20 15:52

Skrapa Ajax genererad content.
 
Hej,

Jag försöker skrapa content från denna sida:
www.nelly.com/se/skor-kvinna/skor/festskor/

I grunden är det inget problem att skrapa den första sidan, men det finns många produkter, så jag skulle vilja kunna skrapa t.ex. den 3dje sidan också. När jag klickar på sida 3 ser länken ut såhär:
http://nelly.com/se/skor-kvinna/skor...6&sort=&imgs=4

Detta ser ut som ett ajax anrop, eller eventuellt bara javascript. Denna sida kan dock inte skrapas.

Jag använder Simple HTML DOM klassen i PHP.

Är det någon som erfarenhet av liknande problem?

Tack i förväg

hnn 2012-04-20 17:29

maila och fråga nelly ;)

martine 2012-04-20 17:35

Citat:

Ursprungligen postat av 50inches (Inlägg 20438199)
När jag klickar på sida 3 ser länken ut såhär:
http://nelly.com/se/skor-kvinna/skor...6&sort=&imgs=4

Detta ser ut som ett ajax anrop, eller eventuellt bara javascript. Denna sida kan dock inte skrapas.

Jösses vilken röra (koden på sidan)… Fast det kanske är svårt att vara bra både på högklackat och att koda ;-)

Om du kikar på http-anropen (med t.ex. Safaris Develop>Console>Network) så ser du snabbt att det är
http://nelly.com/_inc/search_ajax.asp
som levererar innehållet om du anger rätt parametrar.

Kimpo 2012-04-20 17:48

Här är ett exempel på ett helt vanligt GET till en sökresultatsida med querystring parametrar

Bara o lattja lite med url:en och parametrarna så får du ut det du är ute efter

http://nelly.com/se/kl%C3%A4der-...lors=&qHits=36

50inches 2012-04-23 16:01

Citat:

Ursprungligen postat av Kimpo (Inlägg 20438218)
Här är ett exempel på ett helt vanligt GET till en sökresultatsida med querystring parametrar

Bara o lattja lite med url:en och parametrarna så får du ut det du är ute efter

http://nelly.com/se/kl%C3%A4der-f%C3...lors=&qHits=36

Tack, för hjälpen! Tack även till dig martine, du hjälpte mig på traven, det fungerade fint!

Jag kom åt de parametrarna via firebugs net funktion som visar vilka requests som skickas.

Jag förstår dock inte hur vi lyckas komma åt resultaten med en GET request, när sidan verkar vara kodad att hämta resultat med POST request via ajax?

Kan du förklara det för mig är du snäll? Fungerar denna metoden generellt för hemsidor som hämtar resultat via ajax?

Tack åter igen.

martine 2012-04-23 18:08

Citat:

Ursprungligen postat av 50inches (Inlägg 20438556)
Jag förstår dock inte hur vi lyckas komma åt resultaten med en GET request, när sidan verkar vara kodad att hämta resultat med POST request via ajax?

Kan du förklara det för mig är du snäll? Fungerar denna metoden generellt för hemsidor som hämtar resultat via ajax?

Det är inget särskilt med att använda Ajax för att hämta data - det är helt vanlig http precis som vid vanlig sidladdning och gör samma sak som webbläsaren annars skulle göra för att skicka en request. Det gör alltså ingen som helst skillnad om du gör en Ajax-request, med vanlig länk eller med något annat som kan prata http, t.ex. Telnet, så länge du anger samma headers och innehåll.

Däremot har du förstås rätt i att det skillnad på en POST- och GET-request och lite lätt märkligt att serversidan inte gör någon åtskillnad på hur parametrarna kommer dit - men det här kan mycket väl vara avsiktligt för att kunna serva samma data oavsett request-metod. Det kan vara rätt praktiskt. Eller så är det helt oavsiktligt (var förut vanligt att inte göra någon skillnad på hur parametrarna hamnade i serverskript).

Man kan ju fråga sig varför ni hämtar innehållet med GET-request när de använder POST (risk för att koden pajjar om de skulle ändra sitt upplägg…) :-/

Linuus 2012-04-23 18:51

Man får väl dock inte skrapa websidor hur som helst, så jag skulle rekommendera att du kontaktar Nelly först.

tartareandesire 2012-04-23 19:10

Citat:

Ursprungligen postat av Linuus (Inlägg 20438590)
Man får väl dock inte skrapa websidor hur som helst, så jag skulle rekommendera att du kontaktar Nelly först.

Det är normalt sett mer relevant hur datan sedan används, såvida man inte gör det extremt ogenomtänkt med mängder med requests under en kort tidsperiod. Men visst kan man alltid fråga om man vill vara på den säkra sidan.

nosnaj 2012-04-23 19:18

Känns enklare att bara ladda hem alla deras produkter som xml, fast vill man göra det svårt för sig kan man ju göra det :-)
Produktlistor finns t.ex. på TradeDoubler så tjänar du dessutom pengar på att länka till dom.


Alla tider är GMT +2. Klockan är nu 03:47.

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