本文整理汇总了Python中mechanize.Browser.form["service[]"]方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.form["service[]"]方法的具体用法?Python Browser.form["service[]"]怎么用?Python Browser.form["service[]"]使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mechanize.Browser
的用法示例。
在下文中一共展示了Browser.form["service[]"]方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_tags
# 需要导入模块: from mechanize import Browser [as 别名]
# 或者: from mechanize.Browser import form["service[]"] [as 别名]
def get_tags(image):
""" Gets tags from iqdb and symlinks images to tags """
image = os.path.abspath(image)
name = os.path.basename(image)
thumb = "/tmp/thumb_%s" % name
dbpath = os.path.expanduser(db)
print("Getting tags for %s " % name)
im = Image.open(image)
im.thumbnail(size, Image.ANTIALIAS)
im.save(thumb, "JPEG")
br = Browser()
br.open("http://iqdb.org")
br.select_form(nr=0)
br.form["service[]"] = services
if forcegray: br.form["forcegray"] = ["on"]
br.form.add_file(open(thumb), 'text/plain', image)
br.submit()
os.remove(thumb)
response = br.response().read()
match = BeautifulSoup(response)
match = match.findAll('table')[1] # Best match
message = match.find('th').string #
if not message == "Best match":
print("\t%s" % message)
return
similarity = match.findAll('tr')[4].td.string
similarity = re.search("([0-9][0-9])%", similarity).group(1)
print("\tSimilarity %s%%" % similarity)
if (int(similarity) < minsim):
return
tags = match.find('img').get('title')
if tags: tags = re.search("Tags: (?P<tags>.*)", tags)
if tags: tags = tags.group('tags').split(" ")
if not tags:
tags = ""
print("\tFound %d tags" % len(tags))
if not os.path.exists(dbpath):
os.mkdir(dbpath)
for tag in tags:
tag = re.sub("\/", " ", tag)
path = os.path.join(dbpath, tag.lower())
target = os.path.join(path, name)
if not os.path.isdir(path):
os.mkdir(path)
if not os.path.exists(target):
os.symlink(image, target)