Síða 1 af 1

Hugmyndir að scrape-a Amazon url í Excel

Sent: Mán 24. Jan 2022 19:57
af Hjaltiatla
Hæhæ

Vildi athuga hvort þið hefðuð einhverjar hugmyndir að því hvernig er best að scrape-a Amazon url-um í Excel skjal.

Er með excel skjal með fullt af Titlum á bókum og nafn á höfundum á bókinni, inná amazon.com þegar ég framkvæmi leit title+author þá er efsta niðurstaðan það sem mér vantar í Reit "D" í Excel skjali við hverja bók.
Sirka 2000 línur og ég er ekki beint að nenna að gera þetta handvirkt. Python hljómar ágætlega og ef ég man rétt þá var Amazon web scraping kennt í Automate the boring stuff with python (er bara ekki að kveikja á perunni hvaða leið er best að fara í þessu dæmi).


Mynd

Re: Hugmyndir að scrape-a Amazon url í Excel

Sent: Mán 24. Jan 2022 20:06
af Opes
Beautiful Soup
Fljótlegt að skrifa þetta svo bara út í .csv og importa því í Excel ef það á bara að keyra þetta inn einu sinni.

Re: Hugmyndir að scrape-a Amazon url í Excel

Sent: Mán 24. Jan 2022 20:11
af Klemmi
Auðvitað geturðu farið í einhverja forritun utan Excel, en líklega er einfaldast að nýta t.d. þetta hér og vera bara með VBA macro inn í Excel skjalinu?
Þá þarftu ekkert að keyra utanaðkomandi scriptu ef þú bætir við bókum.

https://stackoverflow.com/questions/574 ... result-url

Nota bara search string með höfund, nafni bókar og svo site:amazon.com (eða co.uk eða whatever).

Ath. ég er enginn Excel snillingur og hef lítið notað VBA macros, en þetta er allavega það fyrsta sem ég myndi skoða ef ég væri í sambærilegum pælingum :)

Re: Hugmyndir að scrape-a Amazon url í Excel

Sent: Þri 25. Jan 2022 10:23
af Hjaltiatla
Takk fyrir svörin, ég skoða þetta betur um helgina.

Ef ég fer python leiðina þá skoða ég Beautiful soup og openpyxl líklegast (gæti þá gengið skrefinu lengra og reynt að veiða upp rating í aðra Excel cellu).

Gott að vita þetta með VBA macro (sjálfur nota ég það ekki neitt) en gæti komið að gagni.

Re: Hugmyndir að scrape-a Amazon url í Excel

Sent: Lau 29. Jan 2022 11:38
af Hjaltiatla
Leysti þetta með notepad++ Copy and replace og regular expression ásamt Concat virkni í Excel
Gat í rauninni leyst þetta með að Url manipulate-a leitarstreng Amazon

Gat þá púslað þessu saman
https://www.amazon.com/s?k=
Personal+Historys%2B
Katharine+Graham

Mynd

Skilar mér ekki inná efsta Amazon result leitinni við titil og höfund en þetta er ásættanlegt þar sem ég dett inná Search result síðuna á Amazon og smelli þá á efsta linkinn

Svona lítur þetta þá út þegar ég er búinn að hreinsa þetta :)
Mynd

Re: Hugmyndir að scrape-a Amazon url í Excel

Sent: Lau 29. Jan 2022 21:19
af Semboy
kannski of seinn, en hvad med pandas ? og svo bara itterrows() fra tvi, thar sem thetta eru 2k linur tha er thessi leid lang best.

Re: Hugmyndir að scrape-a Amazon url í Excel

Sent: Lau 29. Jan 2022 22:11
af Hjaltiatla
Semboy skrifaði:kannski of seinn, en hvad med pandas ? og svo bara itterrows() fra tvi, thar sem thetta eru 2k linur tha er thessi leid lang best.

Þetta er komið, tók mig sirka 50 Mín að föndra þetta án þess að þurfa að búa til flókinn kóða eða gera þetta handvirkt (sem ég heði aldrei gert).

Re: Hugmyndir að scrape-a Amazon url í Excel

Sent: Sun 30. Jan 2022 02:27
af Klemmi
Hjaltiatla skrifaði:
Semboy skrifaði:kannski of seinn, en hvad med pandas ? og svo bara itterrows() fra tvi, thar sem thetta eru 2k linur tha er thessi leid lang best.

Þetta er komið, tók mig sirka 50 Mín að föndra þetta án þess að þurfa að búa til flókinn kóða eða gera þetta handvirkt (sem ég heði aldrei gert).


Ef þetta dugir þér, þá er engin ástæða til að fara í einhverjar Notepad++ æfingar...

Þessi skipun ætti að gera það sama og þú ert að gera sýnist mér :)
Setur þetta á efstu línuna og svo bara lætur það fylla út í línurnar fyrir neðan með því að tvísmella í hægra hornið á cellunni.

=HYPERLINK(CONCAT("https://www.amazon.com/s?k=",SUBSTITUTE(B2," ","+"),"%2B",SUBSTITUTE(C2," ","+")))

excel.png
excel.png (22.56 KiB) Skoðað 1838 sinnum

Re: Hugmyndir að scrape-a Amazon url í Excel

Sent: Sun 30. Jan 2022 08:31
af Hjaltiatla
Klemmi skrifaði:Þessi skipun ætti að gera það sama og þú ert að gera sýnist mér :)
Setur þetta á efstu línuna og svo bara lætur það fylla út í línurnar fyrir neðan með því að tvísmella í hægra hornið á cellunni.

=HYPERLINK(CONCAT("https://www.amazon.com/s?k=",SUBSTITUTE(B2," ","+"),"%2B",SUBSTITUTE(C2," ","+")))


Virðist ekki virka hjá mér allavegana :(

Það sem ég gerði með Notepad++ var

til að ná Title og Author dálkunum úr því að vera svona: Reading Like a Writer og Francine Prose
Yfir í að vera svona: Reading+Like+a+Writer og Francine+Prose
Þetta var lausnin á því Source: https://community.notepad-plus-plus.org ... ith-commas

Þá gat ég sett þennan streng fyrir framan Title : https://www.amazon.com/s?k=
og varð svona í kjölfarið : https://www.amazon.com/s?k=Reading+Like+a+Writer
Þetta var lausnin source: https://stackoverflow.com/questions/110 ... every-line


Afritaði lausninar í cellunar á fyrri myndina sem ég póstaði í Cellur D og E og í reit F gerði ég Concat í Excel (afritaði niðurstöðuna í Notepad++ og pasteaði aftur í Excel skjalið mitt).


Bjó svo til einhvers konar =HYPERLINK formúlu í Excel í lokinn til að reitir yrðu smellanlegir.
Er ekki viss hvort ég náði að koma þessu skiljanlegu frá mér en allavegana ég reyndi :)