FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Filemaker ile bir web sitesinden veri çekme

+1 oy
2,462 kez görüntülendi

Merhaba arkadaşlar,

https://ufi-aftermarket.com/catalog_page

Sayfasında New Filters düğmesine tıklayıp Filter Type alanında All seçeneğini seçip Search düğmesine bastığımızda o firmanın yeni ürünleri listeleniyor. Bu işlemi filemaker da İnsert From URL komutu ile curl options ayarlarını kullanarak yapmaya çalışıyorum fakat bir türlü bu yeni ürünleri filemaker dosyasına çekemedim. Bu daha önce benzer işlemler yapan var mıdır ? Teşekkürler.

15, Ekim, 2019 Filemaker Advanced kategorisinde mkanlioglu (63,270 puan) tarafından soruldu
"https://ufi-aftermarket.com/filters/index/newestSearch/?type-app=All"

Linki bi deneyin Hocam..Osman Hocamın dediği gibi veri listeleniyor.(Load More butonuna gerek kalmadan.)

https://www.briandunning.com/cf/584

Linkteki CF ayrıştırırken işe yarayabilir.
Sanırım bu işimi görecek şemsi hocam teşekkürler. Bende tarayıcıda console üzerinden network ten izleyerek Curl ayarlarıyla getirmeye çalışıyordum bir türlü olmuyordu :) type-app değerini nerden buldunuz hocam ? html elementlerini o kadar inceledim bir türlü göremedim gözümden bişey mi kaçmış acaba ?
Gözden kaçmış sanırım Hocam,
<input type="hidden" id="type-app" name="search-form" value="All">

Böyle arama-araştırma yapılan bir sitede,üstelik kaliteli bir sunumu var,hala bir web servis (JSON mesela) kullanılmıyor olması ilginç,böyle uğraştırıp duruyorlar.:))
Şemsi hocam insert from url ile gönderdiğiniz linkin sayfa kaynağını almaya çalıştım requested data is missing hatası veriyor siz bakabildiniz mi acaba ?
Hocam artık ben de alamıyorum,ilginç.Windows kaynaklı olabilir.Ya da kısa sürede çok sorgu sebebiyle kısmi engellemiş olabilirler.URL'i bir web viewer'da açıp GetLayoutObjectAttribute ile content olarak bir text alana çekince hala alıyor.İlk yöntemi bir de Mac ile denemek lazım.Web viewer'daki gecikme sorun olmazsa çalışıyor.

Ama ilk linki Postman ile denediğimde çalışıyor.

2 Cevaplar

0 oy

Öncelikle biraz html bilgisi ile submit düğmesi hangi url'e gidiyor, hangi parametreleri gönderiyor öğrenmek lazım.

 

Bu örnekte http://...../filters/index/newestSearch sayfasına POST isteği gönderiyor. POST'un içinde giden parameterleri inceleyip cURL ile benzerini oluşturmak lazım. Özellikle bu tip veri toplama araçlarına önlem almamışlarsa doğrudan sonuçlar listenecektir. Vakit bulabilirsem bir örnek hazırlamaya çalışayım, beklerken uğraşmak isterseniz şu sayfaya göz atmakta fayda var:

https://fmhelp.filemaker.com/help/16/fmp/en/index.html#page/FMP_Help/curl-options.html

15, Ekim, 2019 F. Osman Cabi (200,340 puan) tarafından cevaplandı
Osman hocam bahsettiğiniz url adresini kullanarak html kaynağını çekmek istediğimde requested data is missing hatası veriyor acaba engelleme mi koymuşlar ?
Tarayıcının inspector'ı üzerinden hızlı bir inceleme yaptım, veriler bir sayfaya post ediliyor, tüm post parametreleri belli ancak sayfa 302 (yönlendirildi) yanıt kodu ile catalog_page sayfasına yönleniyor, kullanıcı tarafında hiç bir parametere gözükmüyor.

İki ihtimal olacak, ya cookieler üzerinden arama sorgusunu saklayıp sayfayı ona göre gösteriyor, yada sunucu üzerinde arama kriterleri saklanıyor.

Bu yönüyle otomatik bir araç yapmak zor gözüküyor.

Sitenin sitemap'lerini inceleyebilirsiniz, belki oradan bir şey çıkar.
sayfaları incelerken pdf sayafını ID'ye göre çağırabildiğinizi gördüm.
PDF metinleri parse için bir yöntem bulup ID'lerle ürün bilgilerine ulaşabilirsiniz sanırım.
https://ufi-aftermarket.com/pdf/index/printPdf/?id=1647
Emeğiniz için teşekkürler osman hocam, Pdf içeriğini alabilmek için sanırım 360Works teki filemaker pdf plugin dışında bir çözüm yok gibi. Araştırmalarım devam edecek :)
PDF'leri aldıktan sonra 3.parti bir uygulamada (filemaker dışında) dönüştürüp sonra filemaker'a geri çekip işleyebilirsiniz.

zahmetli bir iş ama on binlerce pdf varsa değiyor, zamanında çok uğraştırmıştı ama müşterime aylar kazandırdı.

3. parti pdf dönüştürücü ile text'e çevirip oradan filemakera aldık, pdf yapısına göre bir algoritma oluşturarak bilgileri kurduğumuz veritabanı yapısına göre ayıkladık.
0 oy

Örnek bir dosya ekledim hocam,işinize yararsa inceleyin.

 

19, Ekim, 2019 Şemsi Saracoğlu (135,530 puan) tarafından cevaplandı
19, Ekim, 2019 Şemsi Saracoğlu tarafından düzenlendi
Teşekkürler şemsi hocam bu sayede ürünlerin listesini alabildik. İkinci aşamada takıldık bu sefer bu ürünlerin kendi sayfalarındaki Kullanıldığı araçlar ve çapraz referans numaralarını alamıyoruz. Örnek link : https://ufi-aftermarket.com/24-468-00.html
ürün linkini html içeriğinden çekip o sayfayı da yükleyip alabilirsiniz.

bir de load-more işi olmuyor sanırım, ilk x sayıda ürünü alıyor
Load more yapmamıza gerek kalmıyor tümünü alabiliyoruz sanırım. Ürün linkindeki html kaynağından o bilgilere bir türlü ulaşamadım. Sanırım sayfa yüklenirken java script ile getiriyor, web viewer içerisinde ile yapmaya çalışmama rağmen bir türlü bulamadım sanırım iş körlüğü olabilir :)
more, more, more şeklinde açtığımda 90'ın üzerine çıkıyor ürün sayısı. ürün linkleri ilk yüklenen html içerikte mevcut.

ürünler için yer alan UL tagın'ın altındaki LI taglarının içinde.

<ul class="products-grid products-grid-order result_filters products-grid--max-5-col-widget" id="MixItUp7A55C0">
                                            <li class="item" data-id="2019-09-06 00:00:00" data-name="24.468.00" style="display: list-item;">
                                                                <span class="filter_type">Fuel</span>
                                                        <a href="https://ufi-aftermarket.com/24-468-00.html" title="24.468.00" class="product-image">
                                <img src="" alt="24.468.00">
                            </a>
Hocam, bi ara verdim dosyadan koptum,PDF linki nerden almıştınız,onunla bi test yapayım.Dönüştürme için arşivde günde 25 dönüşüm yapan bi serviste çalışan bi dosya vardı.(Ücretsiz sürümde 25.Ücretli versiyonunda 500 dönüşüm 50 TL civarı,5000 ise 250 TL gibi) .Yukarda verdiğiniz linke göre PDF'i container alana import ettikten sonra serviste convert edince linkteki txt alınabiliyor.İçindeki bilgilerin bir bölümünü alta ekliyorum,yeterli bilgi var.

PDF çözümü en iyisi olur sanırım..:))

Dosya dönüştürme yapmıyorsa günlük sınırı aşmıştır,kendinize ait bir API alıp (https://cloudconvert.com) script içinde kullanabilirsiniz.

TXT Dosya :  https://yadi.sk/d/4xGh9QHEfR1oKQ

FM Dosya: https://yadi.sk/d/zxCPRanQYO_U6g


admin
admin


-----------------------------------------------
Air filter
30.A54.00
Dimensions (mm)
A: 246.0
• B: 186.0
• H: 50.0


Infos

Quantity per box : 1
Quantity for pack : 5
Box (width x length x height) : 56 x 277 x 190
Quantity per pallet : 240
Pallet (width x length x height) : 800 x 1200 x
1100
Weight of filter : 244
Weight of filter with box : 323

Available

8 003453 140318 >

Application
HONDA
Civic IX 1.6 i-VTEC 92KW 125HP 02-12
Civic IX 1.8 i-VTEC(R18Z4) 104KW 142HP 02-12

Cross references
ADL (BLUEPRINT) : ADH22280
AL FILTER CO. : ALA8331
ALCO FILTERS : MD8588
AMC : HA8608
ASHIKA : 20-04-459
BOSCH : S0412

Bu arada PDF link ürünün tek sayfasında imiş,gözden kaçırmışım..)
...