小编jac*_*ack的帖子

将urllib2提取的gzip压缩数据转换为HTML

我目前使用mechanize来读取gzip压缩的网页,如下所示:

br = mechanize.Browser()
br.set_handle_gzip(True)
response = br.open(url)
data = response.read()
Run Code Online (Sandbox Code Playgroud)

我想知道如何将urllib2提取的gzip压缩数据解压缩为HTML文本?

req = urllib2.Request(url)
opener = urllib2.build_opener()
response = opener.open(req)
data = response.read()
if response.info()['content-encoding'] == 'gzip':
    HOW TO DECOMPRESS DATA TO HTML
Run Code Online (Sandbox Code Playgroud)

python gzip urllib2

5
推荐指数
1
解决办法
6179
查看次数

使用Python查找具有类似调色板的图像

假设图库中有10,000个JPEG,PNG图像,如何找到具有相似调色板的所有图像到选定图像,并按降序相似度排序?

python image colors

5
推荐指数
1
解决办法
4490
查看次数

使用Python自动识别字体

您可能已经听说过,有一个在线字体识别服务呼叫WhatTheFont

我对该工具背后的技术感到好奇。我认为基本上可以将其分为两个部分:

  1. 从各种格式的字体文件生成图像,有关字体文件扩展名的列表,请参阅http://www.fileinfo.com/filetypes/font

  2. 比较提交的图像和所有生成的图像

感谢您分享一些建议或python代码以实现上述两个步骤。

python fonts image-processing

5
推荐指数
1
解决办法
3286
查看次数

ImageFont的getsize()没有得到正确的文本大小?

我使用以下两种方法为.ttf字体文件生成文本预览图像

PIL方法:

def make_preview(text, fontfile, imagefile, fontsize=30):
    try:
        font = ImageFont.truetype(fontfile, fontsize)
        text_width, text_height = font.getsize(text)
        img = Image.new('RGBA', (text_width, text_height))
        draw = ImageDraw.Draw(img)
        draw.text((0, 0), text, font=font, fill=(0, 0, 0))
        return True
    except:
        return False
Run Code Online (Sandbox Code Playgroud)

ImageMagick方法:

def make_preview(text, fontfile, imagefile, fontsize=30):
    p = subprocess.Popen(['convert', '-font', fontfile, '-background',
            'transparent', '-gravity', 'center', '-pointsize', str(fontsize),
            '-trim', '+repage', 'label:%s' % text, image_file])
    return p==0
Run Code Online (Sandbox Code Playgroud)

这两种方法大部分时间都会创建正确的预览图像,但在极少数情况下(<2%),font.getsize(文本)无法获得正确的文本大小,导致文本溢出提供画布.ImageMagick有同样的问题.

示例字体和预览:

HANFORD.TTF http://download.appfile.com/HANFORD.png

NEWTOW.TTF http://download.appfile.com/NEWTOW.png

MILF.TTF http://download.appfile.com/MILF.png

SWANSE.TTF http://download.appfile.com/SWANSE.png

我查看了ImageMagick的文档并找到了这个问题的解释 http://www.imagemagick.org/Usage/text/#overflow.

是否有可能检测到这样的文本溢出并绘制文本以符合我们预期的画布?

python fonts imagemagick python-imaging-library

5
推荐指数
2
解决办法
3916
查看次数

如何在Python中读取连续的HTTP流数据?

如何在python中从HTTP流媒体服务器读取二进制流.我做了一个搜索,有人说urllib2可以完成这项工作,但有阻塞问题.有人建议使用Twisted框架.

我的问题是:

  1. 如果它只是一个流媒体客户端读取后台数据,我可以忽略urllib2引起的阻塞问题吗?

  2. 如果urllib2无法赶上流媒体服务器会发生什么?数据会丢失吗?

  3. 如果流媒体服务器在检索数据之前需要通过GET或POST一些参数的用户身份验证,可以通过urllib2完成吗?

  4. 我在哪里可以找到urllib2和Twisted的一些流客户端示例?

谢谢.

插口

python streaming client stream

4
推荐指数
1
解决办法
2746
查看次数

如何在启动时运行django开发服务器?

我在会话->启动程序中添加了以下命令,但是没有用。我正在使用Ubuntu。

sudo -u www-data python manage.py 192.168.1.2:8001
Run Code Online (Sandbox Code Playgroud)

192.168.1.2是ath0上的IP地址。在执行此命令的阶段,它仍然不能用于绑定吗?

我目前正在做的是添加另一个cronjob以重新启动开发服务器(如果它每隔5分钟未运行一次)?是在启动时运行它的更好方法吗?

python django

4
推荐指数
1
解决办法
7269
查看次数

使用subprocess.Popen运行命令管道

如何使用以下命令运行subprocess.Popen

mysqldump database_name table_name | bzip2 > filename
Run Code Online (Sandbox Code Playgroud)

我知道os.system()可以做这个工作,但我不想等待转储完成主程序.

python command pipe

4
推荐指数
1
解决办法
1510
查看次数

使用Python提取文件名中包含无效字符的文件

我使用python的zipfile模块来提取.zip存档(例如,让我们在http://img.dafont.com/dl/?f=akvaleir上获取此文件.)

f = zipfile.ZipFile('akvaleir.zip', 'r')
for fileinfo in f.infolist():
    print fileinfo.filename
    f.extract(fileinfo, '.')
Run Code Online (Sandbox Code Playgroud)

它的输出:

Akval?ir_Normal_v2007.ttf
Akval?ir, La police - The Font - Fr - En.pdf
Run Code Online (Sandbox Code Playgroud)

提取后两个文件都无法访问,因为文件名中包含无效的编码字符.问题是zipfile模块没有指定输出文件名的选项.

但是,"解压缩akvaleir.zip"很好地逃避了文件名:

root@host:~# unzip akvaleir.zip 
Archive:  akvaleir.zip
  inflating: Akval?ir_Normal_v2007.ttf  
  inflating: Akval?ir, La police - The Font - Fr - En.pdf  
Run Code Online (Sandbox Code Playgroud)

我尝试在我的python程序中捕获"unzip -l akvaleir.zip"的输出,这两个文件名是:

Akval\xd0\x92ir_Normal_v2007.ttf
Akval\xd0\x92ir, La police - The Font - Fr - En.pdf
Run Code Online (Sandbox Code Playgroud)

如何在不捕获"unzip -l akvaleir.zip"输出的情况下获取正确的文件名,如unzip命令?

python unicode filenames encoding zipfile

4
推荐指数
2
解决办法
7603
查看次数

在Python中的字典内按字典键排序

如何按"remaining_pcs"或"discount_ratio"的值对以下字典进行排序?

promotion_items = {
    'one': {'remaining_pcs': 100, 'discount_ratio': 10},
    'two': {'remaining_pcs': 200, 'discount_ratio': 20},
}
Run Code Online (Sandbox Code Playgroud)

编辑

我的意思是获取上面字典的排序列表,而不是排序字典本身.

python sorting dictionary

4
推荐指数
1
解决办法
1895
查看次数

如何创建确实像搜索一样的网站?

如果您以前使用过true.com,那么您可能会知道,对于所寻找的关键字,只要屏幕左侧有多个搜索优化选项,它就会返回传统的搜索结果。

例如,搜索关键字“ designer”,优化选项为:

Salary Estimate
    $40,000+ (45982)
    $60,000+ (29795)
    $80,000+ (15966)
    $100,000+ (6896)
    $120,000+ (2828)
Title
    Floral Design Specialist (945)
    Hair Stylist (817)
    GRAPHIC DESIGNER (630)
    Hourly Associates/Co-managers (589)
    Web designer (584)
    more »
Company
    Kelly Services (1862)
    Unlisted Company (1133)
    CyberCoders Engineering (1058)
    Michaels Arts & Crafts (947)
    ULTA (818)
    Elance (767)
Location
    New York, NY (2960)
    San Francisco, CA (1633)
    Chicago, IL (1184)
    Houston, TX (1057)
    Seattle, WA (1025)
    more »
Job Type
    Full-time (45687)
    Part-time (2196)
    Contract …
Run Code Online (Sandbox Code Playgroud)

mysql sql search reverse search-engine

4
推荐指数
1
解决办法
3373
查看次数