İş - Güç, E-Ticaret, Alışveriş
Web Sitesindeki Tablolardan Veri Alma / Excele Kaydetme - Ücretli
Web Sitesindeki Tablolardan Veri Alma / Excele Kaydetme - Ücretli
-
Merhabalar hocalar,
Ufak bir program ihtiyacım var. Bir sayfadan bir kaç veri okumam gerekiyor. Veriler aynı sayfada farklı tablolarda, excelde her bir tablo için ayrı ayrı fonksiyon oluşturup alabiliyorum ama çok uğraştırıcı oluyor.
İstediğim kısaca şöyle;
Liste olarak bağlantıları vereceğim, her bir bağlantı için sayfadan istediğim verileri çekip excel dosyası olarak bana geri verecek.
Örnek link: https://www.lcsc.com/product-detail/Microcontroller-Units-MCUs-MPUs-SOCs_Raspberry-Pi-RP2040_C2040.html
Bana lazım olanlar: Manufacturer, LCSC Part #, Package, Description, Minimum Order, Quantity - Unit Price, Stock ve Stock bilgisinin alındığı tarih.
Verdiğim linkler için bu verilerin olduğu tablo gibi bir excel çıktısı istiyorum.
Package veya description bilgileri boş olabiliyor bazılarının, boş olduğunda yok/NaN gibi bir şey koyulabilir tabloya.
Quantity ve Unit price her link için değişebiliyor. Bazılarında Qty. 1+ 10+ 100+ olurken bazılarında 5+ 10+ 50+ olabiliyor. Bunlardan farklı da olabilir. (Ext. Price lazım değil)
Hangi dilde yazıldığı önemli değil. Linkleri excel, txt yada csv olarak verebilirim yada arayüz olacaksa direkt bir text kutusuna yapıştırabilirim.
Havada kalan bir yer var mı bilmiyorum ama sorabilirsiniz. Ücret ve süre bilgisi için ÖM atabilirsiniz.
-
edit: ulan o kadar script yazdiydim buranin insert code kismindan, kodu ucurmus :( ama olsun bu url tek basina is gorur aslinda.
edit2: scripti duzenledim calisiyor. bi klasor icerisinde codes.txt ve choosen_params.txt yapman lazim, bunlarin da ici soyle olmali:
codes.txt:
[ "C2040" ]
choosen_params.txt: (alttaki linkte paramVOList icindeki ParamNameEn karsiliklari yani)
[ "RAM Size", "ADC (Bit)", "GPIO Ports Number" ]
sonuc:
bu mesaji chatgpt'ye atsan muhtemelen ciktisini alirsin.
sayfayi acip network'e bakinca bir url gordum, recommendation icin bir yere istek atiyor, o url'deki others kismini silince soyle bir url'e ulastim:
https://wmsc.lcsc.com/wmsc/product/detail?productCode=C2040
buraya girdigin zaman sanirim butun detaylari gorebiliyorsun. devaminda yapman gereken soyle bir script kosmak olabilir:
import json import requests product_codes = json.load(open("codes.txt")) choosen_params = json.load(open("choosen_params.txt")) url_format = "https://wmsc.lcsc.com/wmsc/product/detail?productCode={code}" def get_data(url, choosen_params): req = requests.get(url) data = req.json() try: params = data["result"]["paramVOList"] except KeyError: return {} result = [] for param in choosen_params: filtered_data = filter(lambda x: x["paramNameEn"] == param, params) try: filtered_data = list(filtered_data)[0] except IndexError: continue yield {"name": param, "value": filtered_data["paramValueEn"]} csv_data = ["product_code, key, value"] for code in product_codes: data_list = get_data(url=url_format.format(code=code), choosen_params=choosen_params) for d in data_list: csv_data.append(f"{code}, {d['name']}, {d['value']}") with open("data.csv", "w") as f: f.write("\n".join(csv_data))
-
exceli aç , veri kısmından verileri al > web i seç. url yi gir. tabloyu seçip alabilirsin direkt
-
yolbulucu bunu yazdı
exceli aç , veri kısmından verileri al > web i seç. url yi gir. tabloyu seçip alabilirsin direkt
Hocam bunu yapabiliyorum ama her tablo için ayrı ayrı yapmam lazım.