はじめに私は大学でプログラミングをしましたが、それは約13年前のことでした。以来、何もする必要はありませんでした。約2ヶ月前、私の上司は、私が興味を持っているかどうか、会社が持っているいくつかの「基本的な」問題に取り組んでいけたらと尋ねました。私はそう言った、そして今私はここにいる。私たちがやっていることは、製造者の部品番号のリストを取って、ウェブスクレイピングを使ってインターネットから詳細な情報を入手することです。私はこのステップを一歩一歩踏み出そうとしました。まず、私たちのデータが優れていたのですが、どうすればPythonを使ってそれを使うのですか?いくつかの自己学習アプリとPython 3の基本コースを通して、私は以下を考え出した:詳細パート情報の入手
wb=load_workbook(filename="Description.xlsx")
sheet=wb["MFG PN"]
mfgpn=[]
for col in sheet["A"]:
mfgpn.append(col.value)
この部分は私のために働いた。私は今、私たちが持っているmfg pnのリストを持っています(約30k)。残りのコードは、BeautifulSoupを使って(私は悲惨に失敗して)テーブルを作成しようとしています。私のコードはこのように見えます。
for html in range(len(mfgpn)):
try:
squirrel=urlopen("http://www.vyrian.com/parts.html?mfgPartNo="+str(mfgpn[html]))
bsObj=BeautifulSoup(squirrel,"html.parser")
Headers=[th.getText() for th in bsObj.findAll("tr", limit=2)[1].findAll('th')]
Rows=bsObj.findAll('tr')
PartData=[[td.getText() for td in Rows[i].findAll('td')] for i in range(len(Rows))]
print(PartData)
except:
(AttributeError, TypeError, NameError)
pass
私はいくつかの他のアプローチを試して、私の質問には失敗しました。テーブルをこすり落としてからこの問題を解決する方法がありますか?私は30kの部品番号すべての「長い形式」の説明を印刷することができました。パーツのすべての属性を分割して(パケットサイズ、抵抗、静電容量など)、フィルタリングすることができます。私が考えなければならない1つのアプローチは、長いフォーム記述(基本的には単に連結された文字列)を取り、それぞれの記述を私たちが探している部分に分割することです。
とにかく私がここで申し込んだのは、私がやったことをスクラップして別の角度にしようとしていても、少しの方向性があることを望みました。
私は、私はこの
のように見える「-frequency安定Ppm-」を取得しています何、このコードでエラーを受信していない「 - 」]、[ ' - 最小動作温度C-表示数量「周波数安定度Ppm-」、「周波数安定度Ppm」、「周波数安定度Ppm」、「周波数安定度Ppm」、「周波数安定度Ppm」、「周波数安定度Ppm」、 、 ' - ']、[' - ']、[' - ']] -
これは明らかに印刷されたものの非常に小さい部分ですが、この。
私は[' - ']が私が探している価値であると信じています。