কীভাবে স্বয়ংক্রিয়ভাবে পুনরুদ্ধার করবেন, একটি ডিজি-কী অংশ নম্বর দেওয়া হয়েছে, যেমন প্রস্তুতকারক, প্রস্তুতকারকের অংশ নম্বর, বিবরণ ইত্যাদি তথ্য সম্ভবত জিইটি এইচটি পিএসপি সংশ্লেষকে পার্স করে:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=DK_PART_NUMBER
(সঠিক পরামিতিগুলির জন্য রাগকারীকে ধন্যবাদ)
যেখানে ডি কে_পিলিঞ্জ্বল হ'ল ডিজিকি অংশ নম্বর।
তাদের জন্য একটি ওয়েব পরিষেবা আছে বা কেবল এর জন্য আরও ভাল ইন্টারফেস আছে কি কেউ জানেন?
এই প্রশ্নটি জিজ্ঞাসা করার পরে আমি সিদ্ধান্ত নিয়েছি যে এগিয়ে গিয়ে কিছু লিখব যা ডিজাইকেই থেকে কিছু বেসিক আনতে হবে:
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
[মূল্য ব্রেক / ইউনিট মূল্য / বর্ধিত মূল্য] সারণীর কেবলমাত্র প্রথম ডেটা লাইন ধরা পড়ে data