pQuery是Perl的jQuery JavaScript框架的实用端口,可用于屏幕抓取.
pQuery对格式错误的HTML非常敏感.请考虑以下示例:
use pQuery;
my $html_malformed = "<html><head><title>foo</title></head><body>bar</body></html>>";
my $page = pQuery($html_malformed);
my $title = $page->find("title");
print "The title is: ", $title->html, "\n";
Run Code Online (Sandbox Code Playgroud)
由于>>格式错误的HTML中的双" ",pQuery将无法在上面的示例中找到标题标记.
为了使我的基于pQuery的应用程序更容忍HTML格式错误,我需要通过清理它来预处理HTML,然后再将其传递给pQuery.
从上面给出的代码片段开始,什么是最健壮的pure-perl方法来清理HTML以使其解析:pQuery能够实现吗?
Python新手在这里.我试图解决在更大的程序中编写csv文件的问题,并决定回到基础以尝试找到问题.
我从Python csv读取和编写文档中运行了一个确切的代码示例:
import csv
spamWriter = csv.writer(open('eggs.csv', 'w'), delimiter=' ', quotechar='|')
spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
Run Code Online (Sandbox Code Playgroud)
当我进入我的工作目录并点击"eggs.csv"时,文件为空则报告为"0 kb".同样的事情发生在我的大型程序(空csv文件)中.我错过了一些完全明显的东西吗
谢谢!
编辑:
我刚刚尝试修改代码:
import csv
csvOut=open("eggs.csv", "wb")
spamWriter = csv.writer(csvOut, delimiter=' ', quotechar='|')
spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
csvOut.close()
Run Code Online (Sandbox Code Playgroud)
这很有效.我不确定为什么第一个对我不起作用.
这个问题在过去一周左右一直困扰着我,现在我要到了最后期限.我在Media Temple DV服务器上有一个站点,该服务器在webroot(servername.org)中运行Drupal.我正在添加一个django网站,我希望它位于url servername.org/myproject.我已经构建了项目(在不在webroot中的目录中)并且当我使用django dev服务器运行它时工作正常,但是我无法将apache配置为运行我的django站点.我按照本教程http://how.4cpus.com/installing-django-on-mt-media-temple-dv-35-server-with-mod_python/
按照那里的说明进行初始设置并配置vhost..conf.但是Drupal生成的.htaccess文件不断抓取我的url并返回404错误.
到目前为止我唯一的工作是,如果我在webroot中创建一个名为httpdocs/myproject的子目录,然后转到url servername.org/myproject它就可以了.但是一旦我尝试转到myproject的任何子文件夹(例如servername/myproject/login),我再次收到404错误.
这里有什么帮助?我知道它必须是一个简单的一行或两行apache配置的东西,但我无法弄清楚,我的想法已经用完了.
这是vhost.conf文件中的一个片段:
<Location "/myproject/">
SetHandler python-program
PythonPath "['/var/www/vhosts/servename.org/']+sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE myproject.settings
PythonInterpreter myproject
</Location>
Run Code Online (Sandbox Code Playgroud)
这里是webroot中的Drupal .htaccess文件(请注意我放在最近的reirte规则似乎没有做任何事情):
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
Order allow,deny
</FilesMatch>
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Follow symbolic links in this directory.
Options +FollowSymLinks
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
# Force …Run Code Online (Sandbox Code Playgroud) 我对iPhone开发的整个世界相当新,所以请原谅我,如果这很容易.我有一个对象Card,上面有6个Question对象.当我说[card getQuestion:@"Art"]我正在返回一个Question这样的对象时
- (Question*) getQuestion: (NSString*) questionType {
Question *q = [questions objectForKey:questionType];
return [q autorelease];
}
Run Code Online (Sandbox Code Playgroud)
问题有一个属性text(类型NSString),它允许我看到问题的文本是什么.所以我想用这个文本来更新viewController中的UILabel
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"%@", [[self.card getQuestion:@"Art"] qText]);
self.myQuestion.text = [[self.card getQuestion:@"Art"] qText];
}
Run Code Online (Sandbox Code Playgroud)
这会导致iPhone崩溃,而如果我将对象中的功能更改Card为此
- (NSString*) getQuestion: (NSString*) questionType {
return [[questions objectForKey:questionType] qText];
}
Run Code Online (Sandbox Code Playgroud)
和我在viewController中的调用
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"%@", [self.card getQuestion:@"Art"]);
self.myQuestion.text = [self.card getQuestion:@"Art"];
}
Run Code Online (Sandbox Code Playgroud)
这很好..任何人都可以解释我做错了什么,在这两种情况下,对NSLog的调用都会返回相关文本.在这两种情况下,显示器都会加载,但在第一种情况下,它会在不久之后崩溃,而另一种情况则会保持稳定.
任何帮助赞赏.
我希望我的PowerShell脚本能够打印出这样的内容:
Enabling feature XYZ......Done
Run Code Online (Sandbox Code Playgroud)
脚本看起来像这样:
Write-Output "Enabling feature XYZ......."
Enable-SPFeature...
Write-Output "Done"
Run Code Online (Sandbox Code Playgroud)
但Write-Output总是在最后打印一个新行,所以我的输出不在一行.有没有办法做到这一点?
我正在编写一个Web应用程序(好吧,实际上它最终将是一个OS X Dashboard小部件,但我决定首先将其原型化为一个简单的网页),需要从本地JSON文件加载一些初始化数据.我的代码看起来像这样:
function loadDatos() {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', 'datos.json', true);
xobj.onReadyStateChange = function () {
if (xobj.readyState == 4) {
var jsonTexto = xobj.responseText;
ProcessTheData(jsonTexto);
}
}
xobj.send(null);
}
Run Code Online (Sandbox Code Playgroud)
该函数从HTML文件的BODY标记中的onLoad()事件中调用.现在,从我在调试时看到的,函数被执行,但onReadytStateChange事件处理程序永远不会被调用.
我该怎么办?我认为使用XMLHttpRequest来访问本地文件有点奇怪,但是我看到处理这个问题的新教程似乎说它应该有效(我见过的99%的文档都谈到了如何从远程服务器加载JSON,而不是从本地文件加载JSON.
我正在使用Firefox 3.6.10进行测试,但我也尝试使用Safari 4.
perl ×2
.htaccess ×1
.net ×1
composition ×1
cpan ×1
csv ×1
dashboard ×1
django ×1
drupal ×1
iphone ×1
java ×1
javascript ×1
jquery ×1
json ×1
jsp ×1
linqpad ×1
objective-c ×1
powershell ×1
python ×1
ruby ×1