Wie automatisch abrufen, eine Digi-Key Teilenummer, Informationen wie Hersteller, Hersteller-Teilenummer, Beschreibung, usw. Vielleicht ist die GET http respose zu Parsen gegeben:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=DK_PART_NUMBER
(Dank angryee für die korrekten Parameter)
Wobei DK_PART_NUMBER die Digikey-Teilenummer ist.
Weiß jemand, wenn sie einen Web-Service oder einfach eine bessere Schnittstelle für dieses?
Nachdem diese Frage habe ich mich entschlossen voran und etwas schreiben zu gehen, die einige grundlegende fetching von Digikey tat:
dk_pn = '587-1962-1-ND'
from urllib import urlopen
from sgmllib import SGMLParser
headers = ['Digi-Key Part Number',
'Manufacturer',
'Manufacturer Part Number',
'Description',
'Lead Free Status / RoHS Status',
'Operating Temperature',
'Standard Package',
'Price Break',
'Unit Price',
'Extended Price']
class DK_Parser(SGMLParser):
def reset(self):
SGMLParser.reset(self)
self.last_td = ''
self.inside_th = False
self.inside_td = False
self.grab_data = False
self.part_info = {}
self.hdr_index = 0
self.row_hdrs = []
def start_tr(self, attrs): # row
self.first_header_in_row = True
def start_th(self, attrs): # header cell
if self.first_header_in_row:
self.first_header_in_row = False
self.row_hdrs = []
self.hdr_index = 0
self.inside_th = True
def end_th(self):
self.inside_th = False
def start_td(self, attrs): # data cell
self.inside_td = True
def end_td(self):
self.inside_td = False
self.hdr_index = self.hdr_index+1
def handle_data(self,text):
text = text.strip()
if self.inside_th:
if text in headers:
self.row_hdrs.append(text)
self.last_td = ''
self.grab_data = True
else:
self.grab_data = False
elif self.inside_td and self.grab_data:
if self.hdr_index:
self.last_td = ''
if self.hdr_index < len(self.row_hdrs):
self.last_td = self.last_td + text
self.part_info[self.row_hdrs[self.hdr_index]] = self.last_td
dk_url = 'http://search.digikey.com/scripts/DkSearch/dksus.dll'
dk_params = '?Detail&name='
sock = urlopen(dk_url + dk_params + dk_pn)
parser = DK_Parser()
parser.feed(sock.read())
sock.close()
parser.close()
for k,v in parser.part_info.items():
print k,":",v
Nur die erste Datenleitung den der [Preis Bruch / Stückpreis / extended Preis] Tabelle erfaßt wird.
components
bom
Apalopohapa
quelle
quelle
Antworten:
Sie würden wollen, anstatt das Schlüsselwort, um die Detail-Option verwenden. So was:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=458-1003-ND
Das gibt eine HTML-Seite, den Text, der analysiert werden kann. Es ist alles im Tabellenformat, so dass Sie eine Liste von Begriffen erstellen können, an denen Sie interessiert sind, und die Werte auswerten können. Ich kann eine Stückliste Skript sehen, die in einer Liste der Teile und die Werte, die Sie abrufen möchten nimmt (dh Spannung, Max Strom, oder aber Digikey Listen es) und dann einige Python machen die Teilenummer zu lesen, um die Seite packen, Analysieren Sie die Informationen und speichern Sie sie in einer CSV-, Datenbank- oder HTML-Datei. Ich habe denken an etwas Ähnliches gewesen und es nicht zu hart zu sein scheinen. Naja, hart genug, um mich davon abzuhalten, es jetzt sowieso rauszuschleudern :)
quelle
Vielleicht könnten Sie es durch tun Octopart API ?
quelle
Die aktuelle beste Antwort ist https://services.digikey.com/ als " die Digi-Key Search Web Service (SWS) und Bestell Web Service (OWS) bieten den Kunden in Echtzeit Zugriff auf Digi-Keys große Produktdatenbank und Bestell System. '.
Was Sie tun, ist „Screen Scraping“, die zum Bruch anfällig ist als DigiKey ihre Website aktualisiert.
quelle
Hier ist Beispielcode in Python, Ruby und JS, dies zu tun mit Octopart API
http://octopart.com/api/docs/v3/overview#bom-matching
Sie können für Digikey auf der Anwendungsebene ausfiltern.
quelle
Wenn Sie Ihre Stückliste als MS Excel-Tabelle speichern, können Sie die Preise über Daten-> Externe Daten abrufen-> Aus dem Web direkt in ein Arbeitsblatt ziehen. Ich verwende Excel 2010. Hier ist ein Makro, dass ich aus der Makroaufzeichnung verwenden.
quelle