1

だからここに私が比較しようとしている私のコードがあります。私がやろうとしているのは、パス ディレクトリから appid を一覧表示することです。次に、Web サイト (f) に出かけようとしています。そして、html ページを解析し、そのサイトにリストされている appid を取得します。

私ができるようにしたいのは、ローカル システムから appid を取得し、f (サイトからのアプリ ID) を検索して、appid を返すことです。

appid を印刷すると:

D:\python>jump_me.py |more
1b4dd67f29cb1962
28c8b86deab549a1
431a5b43435cc60b
4975d6798a8bdf66
7e4dca80246863e3
8eafbd04ec8631
9b9cdc69c1c24e2b
bc03160ee1a59fc1

オンラインから解析されたデータである f を出力すると、次のようになります。

65009083bfa6a094 | (app launched via XPMode) |
469e4a7982cea4d4 | ? (.job) |
b0459de4674aab56 | (.vmcx) |
89b0d939f117f75c | Adobe Acrobat 9 Pro Extended (32-bit) |
26717493b25aa6e1 | Adobe Dreamweaver CS5 (32-bit) |
e2a593822e01aed3 | Adobe Flash CS5 (32-bit) |
c765823d986857ba | Adobe Illustrator CS5 (32-bit) |
84f066768a22cc4f | Adobe Photoshop CS5 (64-bit) |
44a398496acc926d | Adobe Premiere Pro CS5 (64-bit) |

appid と f を比較して、対応するアイテムを出力したい:

appid = のように89b0d939f117f75c

f = 89b0d939f117f75c | Adobe Acrobat 9 Pro Extended (32-bit)

89b0d939f117f75c | Adobe Acrobat 9 Pro Extended (32-bit)したがって、ディレクトリのリストに基づいて、それを返したいと思います。

わかる?

- - コード - -

import os
import sys
import urllib2
from BeautifulSoup import BeautifulSoup

path = ("C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations")
for ids in os.listdir(path):
appid = "%s" % (ids).rstrip('.automaticDestinations-ms')
#print appid

f = urllib2.urlopen("http://www.forensicswiki.org/wiki/List_of_Jump_List_IDs")
s = f.read()

soup = BeautifulSoup(''.join(s))
rows = soup.findAll('tr')

for tr in rows:

    cols = tr.findAll('td', limit=2)
    for td in cols:
        text = ''.join(td.findAll(text=True))

        print text + " |",
    print "\n".strip()
f.close
4

2 に答える 2

1

f から辞書を作成し、appid をキーとして使用します。

于 2012-05-04T03:31:08.547 に答える
0

次のようなことをしたい:

if appid == td.split('|')[0].strip():
    print td

おもう。しかし、データが実際にどこにあるかは私にはわかりません。取得したデータの例は、BeautifulSoup で行っていることと一致しませんtd。チェックする場所が間違っている可能性があります。

appidポイントは、検索しているテキストの部分文字列と比較する必要があるということです。ただし、比較を行っていないため、どこに配置すればよいかわかりません。

于 2012-05-04T03:32:22.550 に答える