@kousaka_mil
全然簡単じゃないけど現時点で思いつくのは、以下2つくらいかなぁ。
このどっちかをスクレイピングさせれば、(ツール作る手間はあるけど)自動化はできる気がする。
1. 公式の露店取引情報で該当アイテムのページ開いてURLからIDを取得する
2. unitrixで該当アイテムのページ開いて、ソースからIDを取得する
@mameta0824 既に500以上あるからとりあえずテキストから一式ブッコぬいて以降は1か2でちまちまメンテが安定かな?
@kousaka_mil
excelにはっつけてやるなら、ExcelのVBA使ってunitrixをスクレイピングすればいけそう
@kousaka_mil
超久しぶりにVBAしてみて、ID取れたので、超適当なコードですが一応共有します
添付機能にテキストファイル使え無かったので、文字数の関係上、3つくらいに分割して貼り付けますね(苦笑)
@kousaka_mil
Sub GetItemIdStart()
Dim itemName As String
Dim iRow As Integer
iRow = 5
Do Until Cells(iRow, 2).Value = ""
itemName = Cells(iRow, 2).Value
itemId = GetItemId(itemName)
Cells(iRow, 3).Value = itemId
iRow = iRow + 1
Loop
MsgBox ("処理が完了しました")
End Sub
@kousaka_mil
Function GetItemId(ByVal itemName As String)
'unitrixの該当ページをブラウザで表示する
Dim ie As New InternetExplorer
ie.Visible = False
ie.navigate "http://unitrix.net/?w=Noatun&i=" & itemName
'ページが表示完了されるまで待つ
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
'表示したHTMLからIDの含まれる文字列を取得する
Dim doc As New HTMLDocument
Dim h2, span As Object
Dim onmouseover As String
'IDの含まれる文字列から、正規表現でアイテムIDのみ取得する
Dim regex As Object
Dim matches As Variant
Dim itemId As String
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = ".+\[([0-9]+)].+"
regex.Global = True
Set matches = regex.Execute(onmouseover)
itemId = matches(0).submatches(0)
'ブラウザを閉じる
ie.Quit
GetItemId = itemId
End Function
@kousaka_mil
見づらくてごめんなさい。
コードをtxtで保存したものや、excelも添付できない拡張子でした😂
少しでも役立ったら嬉しいです☺️
excelにどう組み込んで良いか分からなかったら聞いてくださいね~
どんだけ私を過大評価されてるんですかw大して変わらないと思いますよw
それと、綺麗な作りにすることも大事ではありますけど、それよりも期待通りの動作をすることや、時間をかけ過ぎないことも大事なので、今くらいで丁度良いと思いますよ~
@mameta0824 あざまーす。とりあえず初期データ作ったらこれベースでくみこんで今後の運用で楽させていただきます。
これ系の知識はそれほどないので助かります。
てか、まめさんくらいできると、ぶっちゃけあのツールは笑えるくらいに雑なつくりにしてあるのがわかるだろうな、とw