2016-06-26 4 views
1

Ich versuche, die Website zu kratzen www.lider.cl Rubin und Nokogiri mitScraping, Curl: Cookie extrahiert nicht funktioniert, tut broser der

Insbesondere i in der Produktliste interessiert bin. Die Liste für eine Kategorie zum Beispiel ist:

URL1 = https://www.lider.cl/walmart/catalog/category.jsp?id=cat320019&pId=CF_Nivel1_000003&navAction=jump&navCount=0 

Bei Netzabschnitt auf Browser-Inspektion, entdeckte ich, dass die Liste der Produkte, um programmatisch zu erhalten, ohne eine Javascript-fähigen Browser-Bibliothek zu verwenden, konnte ich POST direkt zu:

URL2 = https://www.lider.cl/walmart/category/product/food/foodProductListContent.jsp?catName=Arroz"%"20y"%"20Legumbres&pId=CF_Nivel1_000003&cId=&sId=cat320019 

Jetzt, um URL2 korrekt auszuführen, muss ich einen Cookie übergeben.

Also mein Ansatz ist URL1 zu nennen zuerst, das Cookie erhalten und übergeben Sie es wie folgt url2:

curl "https://www.lider.cl/walmart/category/product/food/foodProductListContent.jsp?catName=Arroz"%"20y"%"20Legumbres&pId=CF_Nivel1_000003&cId=&sId=cat320019" -H "Cookie: JSESSIONID=55580F4B138C8660989405EFF8665988.CL2NTS1P60082_store16;" 

Wenn ich JSESSIONID durch Inspektion firefox und führen Sie den obigen Befehl die resultierende Seite im curl bekommen ist richtig. Wenn ich jedoch URL1 locke und das Cookie an URL2 übergebe, funktioniert es nicht. Ich bekomme eine Seite, auf der steht, dass die Suche ungültig ist.

Kann mir jemand helfen zu verstehen, wie firefox einen gültigen Cookie erhält, aber nt curl?

Grüße

+0

Bitte lesen Sie "[mcve]". Es gibt nichts in deiner Frage, das zeigt, dass es mit Ruby oder Nokogiri verwandt ist, außer deiner Aussage, dass du Ruby und Nokogiri benutzt. Bitte markieren Sie keine Frage ohne Code, der ihre Verwendung anzeigt. Dies scheint nur eine Curl-Frage zu sein. –

Antwort

0

Verwenden --cookie-jar und --cookie.

$ curl --cookie-jar /tmp/myCookies "$URL1" 
$ curl --cookie /tmp/myCookies "$URL2"