我有这个图像:

我想用python将它读成字符串,我认为这不会那么难.我发现了tesseract,然后是使用tesseract的python脚本的包装器.
所以我开始阅读图像,直到我尝试阅读这个图片时,它才做得很好.我是否必须训练它才能阅读特定的字体?有关该特定字体的任何想法?或者是否有一个更好的ocr引擎,我可以使用python来完成这项工作.
编辑:也许我可以围绕数字制作某种向量,然后以更大的尺寸重绘它们?更大的图像是更好的tesseract ocr似乎阅读它们(没有意外大声笑).
自从我问到如何使用正则表达式解析html并得到一些抨击(理所当然)之后,我一直在研究HTML :: TreeBuilder,HTML :: Parser,HTML :: TokeParser和HTML :: Elements Perl模块.
我有这样的HTML:
<div id="listSubtitlesFilm">
<dt id="a1">
<a href="/45/subtitles-67624.aspx">
.45 (2006)
</a>
</dt>
</div>
Run Code Online (Sandbox Code Playgroud)
我想解析出来/45/subtitles-67624.asp,但更重要的是我想知道如何解析div的内容.
我在前一个问题上得到了这个例子:
while ( my $anchor = $parser->get_tag('a') ) {
if ( my $href = $anchor->get_attr('href') ) {
#http://subscene.com/english/Sit-Down-Shut-Up-First-Season/subtitles-272112.aspx
push @dnldLinks, $1 if $href =~ m!/subtitle-(\d{2,8})\.aspx!;
}
Run Code Online (Sandbox Code Playgroud)
这非常适用于此,但是当我尝试编辑它并在``div`上使用它时它不起作用.这是我试过的代码:
我尝试使用此代码:
while (my $anchor = $p->get_tag("dt")) {
if($stuff = $anchor->get_attr('a1')) {
print $stuff."\n";
}
}
Run Code Online (Sandbox Code Playgroud) 我有代码:
#!/usr/bin/perl
use strict;
use WWW::Mechanize;
my $url = 'http://divxsubtitles.net/page_subtitleinformation.php?ID=111292';
my $m = WWW::Mechanize->new(autocheck => 1);
$m->get($url);
$m->form_number(2);
$m->click();
my $response = $m->res();
print $m->response->headers->as_string;
Run Code Online (Sandbox Code Playgroud)
它提交了页面上的下载按钮,但我不确定如何下载POST后发回的文件.
如果可能的话,我想用wget下载这个.我以为他们可能是秘密网址传递的东西?或者我是否必须直接从响应流中下载LWP?
那么如何下载该标题中的文件?
谢谢,
科迪古德曼
我正在使用django 1.3.1和satchmo 0.9.2.我使用了Satchmo附带的名为Contact的默认模型.我创建了一个satchmo_mod应用程序和一个admin.py文件.
pip install django==1.3.1
pip install -r http://bitbucket.org/chris1610/satchmo/raw/tip/scripts/requirements.txt
pip install satchmo 0.9.2
django-admin.py startproject fk_test
cd fk_test
python manage.py startapp satchmo_mod
Run Code Online (Sandbox Code Playgroud)
然后创建admin.py:
from satchmo_store.contact.models import Contact
admin.site.unregister(Contact)
admin.site.register(Contact)
Run Code Online (Sandbox Code Playgroud)
然后我跑:
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
去:
127.0.0.1:8000
Run Code Online (Sandbox Code Playgroud)
得到此错误:
fk_name 'user' is not a ForeignKey to <class 'satchmo_store.contact.models.Contact'>
Run Code Online (Sandbox Code Playgroud)
我在堆栈跟踪中看到此错误并开始探索:
/home/cody/work/martin-instruments/virtual-envs/mi-prod-copy/lib/python2.6/site-packages/django/contrib/admin/validation.py in validate_inline
fk = _get_foreign_key(parent_model, cls.model, fk_name=cls.fk_name, can_fail=True) ...
? Local vars
Variable Value
parent_model
<class 'satchmo_store.contact.models.Contact'>
cls
<class 'satchmo_mod.admin.UserTaxExemptInline'>
parent
<class 'django.contrib.admin.options.ModelAdmin'>
f
<django.db.models.fields.related.OneToOneField object at 0x2ec2250>
Run Code Online (Sandbox Code Playgroud)
简而言之,当Contact模型重新注册时,就我所知,所有的_meta选项都没有被重新生成.请参阅下面的'manage.py shell'会话:
envs/mi2.0/mi$ ./manage.py …Run Code Online (Sandbox Code Playgroud) 好的,在Perl编码,只是有一个快速的问题.我创建了一个名为SubtitleSite的类,它基本上是一个抽象,以及一个名为podnapisi的类,它继承了SubtitleSite,如下所示:
@ISA = qw(SubtitleSite);
Run Code Online (Sandbox Code Playgroud)
我的问题是,我必须使用:
use SubtitleSite;
Run Code Online (Sandbox Code Playgroud)
为了能够访问SubtitleSite中的所有方法?
编写python程序,我在使用该urllib.urlopen函数时想出了这个错误.
Traceback (most recent call last):
File "ChurchScraper.py", line 58, in <module>
html = GetAllChurchPages()
File "ChurchScraper.py", line 48, in GetAllChurchPages
CPs = CPs + urllib.urlopen(url)
TypeError: cannot concatenate 'str' and 'instance' objects
url = 'http://website.com/index.php?cID=' + str(cID)
CPs = CPs + urllib.urlopen(url)
Run Code Online (Sandbox Code Playgroud) 使用Perl的OOP新手,只是有一个简单的问题.我在课堂上有这个功能:
sub Print{
my $text = shift;
print "my text is", $text;
}
Run Code Online (Sandbox Code Playgroud)
我尝试通过这样做来打印文本:
my $object = ObjectName->new();
$object->Print("Print this text")
Run Code Online (Sandbox Code Playgroud)
它打印这个:
my text isObjectName=SCALAR(0x1289df0)
我的问题是,它为什么要这样做,我怎样才能简单地打印我作为参数传递的文本?
初学者在python中,但现在已经编程了大约5年.我怀疑我有很多东西要学习以面向对象的方式做事,但我知道基础知识.我计划编写一个计算器,显示它可以从中获得挑战和知识.我刚刚开始,这就是我所拥有的,它对我来说真的很难看.你会怎么做得与众不同?
PS这只是一个简单的脚本,可以从括号内部解决问题,添加它,显示工作,然后评估完整的问题.
import re
def EvalParenths(problem):
contents = ""
if re.match( "\(", problem):
contents = re.match("(\(.*\))", problem)
parenthsAnswer = contents.group(0)
problem = problem.replace(parenthsAnswer, '')
print " \ \n " + str(eval(parenthsAnswer)) + problem
problem = problem.replace(parenthsAnswer, '')
answer = eval(parenthsAnswer+problem)
print " \ \n " + str(answer)
else:
print "Didn't Find Parenthesis"
def ProblemHasParenths(problem):
return re.match( "\(", problem)
"""""
Example Problem: (12/4)*2
"""""
problem = raw_input()
if ProblemHasParenths:
EvalParenths(problem)
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何使用Perl从HTML中删除外部链接?
好吧,我正在为一个客户工作,他刚刚将他的语言选择改为Perl.我不是Perl中最好的,但我之前用它做过这样的事情,虽然不久前.
有很多像这样的链接:
<a href="/en/subtitles/3586224/death-becomes-her-en" title="subtitlesDeath Becomes Her" onclick="reLink('/en/subtitles/3586224/death-becomes-her-en');" class="bnone">Death Becomes Her
(1992)</a>
Run Code Online (Sandbox Code Playgroud)
我想匹配路径"/ en/subtitles/3586224/death-become-her-en"并将它们放入数组或列表中(不确定Perl中哪些更好).我一直在搜索perl文档,以及查看正则表达式教程,并且大多数(如果不是全部)似乎都倾向于使用〜=来匹配内容而不是捕获匹配.
谢谢,
科迪
perl ×5
oop ×3
python ×3
html ×2
html-parsing ×2
django ×1
django-admin ×1
download ×1
foreign-keys ×1
form-submit ×1
inheritance ×1
ocr ×1
parsing ×1
readability ×1
regex ×1
satchmo ×1
tesseract ×1
urllib ×1
usability ×1