公開日:2019/11/19OneCartというサービスを作った。買い物かごを一つにまとめることができるサービス作ろうと思った経緯1週間前に見たあのサイトの商品見たいんだけど思い出せないみたいなことありませんか?いろんなサイトの服をひとまとめにして比較したい時とか。ネットでよく買うものを一つのサイトにまとめておきたいとか。ネットで買い物をするのだが、気になった商品があったりするとブックマークで保存していた。これだとurlだけが残るだけで、ぱっと見で商品がわからないし、金額もわからない。pocketみたいな感じで、URLを入力したら自動で作成されるような感じにしたかった。使うAmazon,Yahooショッピング,zozoなどなど、いろんなサイトのカートをひとまとめにできたら楽だなと思ったから作った。本当はメルカリのデータも取得したかったんですが、スクレイピングしようとすると403が返ってくるし、どうもメルカリさんはVPSサーバーのIPをブロックしているっぽい。プロキシサーバー使ったり、Seleniumやlaravelのdusk(本番環境で使えない)使ったりなんかはできると思うのですが、面倒なのでとりあえすパス。vue.js1年くらいずっとlaravelで作っているので慣れているLaravelを使用した。バックエンドはpythonのDjangoとかでもよかったが、やはりLaravelの方が好きなのでLaravelを使った。vueも普段から使っているのでフロントエンドとして使用vuetifyこれも素早くシンプルなものを作るには必須かなと。前はelementとかも使っていたが、vuetifyの方が使いやすいし、事足りるので。使っていくと多少凝ったデザインでもvuetifyで作れるようになったので今は特に困ることはな特に困ることは何もない。xserver個人開発でいくつもサービス作る!となるとawsやgcpで作っていてはサーバー代がバカにならないので、レンタルサーバーを一つ借りてぶち込んでます。大きくなったらそれを他のところに移せば良いと思うので(大きく慣ればの話ですが(笑))。Goutteスクレイピングにはgoutteを使用している入力されたurlからogpを引っ張ってきてアイテムを作成している。商品かどうかの判断は、まずOGPのtypeでざっくり判断し、ページから価格が取得できた場合には商品として判定している。