我正在尝试使用LWP :: Simple获取维基百科页面,但它们并没有回来。 这段代码:

#!/usr/bin/perl
use strict;
use LWP::Simple;

print get("http://en.wikipedia.org/wiki/Stack_overflow");

不打印任何东西。 但是,如果我使用其他网页,比如http://www.google.com ,它运行正常。

我是否应该使用其他名称来引用维基百科页面?

这可能会发生什么?

===============>>#1 票数:18 已采纳

显然维基百科阻止了L​​WP ::简单请求: http ://www.perlmonks.org/?node_id = 695886

以下工作:

#!/usr/bin/perl
use strict;
use LWP::UserAgent;

my $url = "http://en.wikipedia.org/wiki/Stack_overflow";

my $ua = LWP::UserAgent->new();
my $res = $ua->get($url);

print $res->content;

===============>>#2 票数:12

您也可以在LWP :: Simple模块上设置UA - 只需导入$ ua变量,它将允许您修改基础UserAgent:

use LWP::Simple qw/get $ua/;
$ua->agent("WikiBot/0.1");
print get("http://en.wikipedia.org/wiki/Stack_overflow");

===============>>#3 票数:6

我使用LWP:RobotUA解决了这个问题LWP:RobotUA而不是LWP::UserAgent 您可以阅读以下文档。 您应该修改的差异不大。

http://lwp.interglacial.com/ch12_02.htm

===============>>#4 票数:5

因为Wikipedia阻止了LWP :: Simple使用的HTTP用户代理字符串。

如果您尝试使用它,您将获得“403 Forbidden” - 响应。

尝试使用LWP :: UserAgent模块解决此问题,设置agent-attribute。

===============>>#5 票数:5

另请参阅与Mediawiki相关的CPAN模块 - 这些模块旨在打击Mediawiki网站(维基百科是其中之一),并且可能比简单的LWP给你更多的花里胡哨。

http://cpan.uwinnipeg.ca/search?query=Mediawiki&mode=dist

  ask by Jesse Beder translate from so

未解决问题?本站智能推荐:

1回复

在Perl中无法通过带有LWP :: Simple的HTTPS获取页面

我尝试使用Perl从HTTPS URL下载页面: 似乎有问题。 只是无法找出错误。 我无法获得该页面。 获取请求的编码是否不正确? 我需要使用用户代理吗?
3回复

维基百科链接的排序列表

我在纯文本文件中有一长串Wikipedia链接。 每个链接由换行符分隔,并进行百分比编码。 不幸的是,这些链接中有许多已经过时了。 有些是重定向,而另一些已删除。 无论如何,是否可以自动对链接进行排序,解决重定向并删除无效链接? 一个bash / python脚本会很好,但是任何其
1回复

从维基百科打印信息

我正在尝试从Wikipedia中打印信息,但确实如此: http : //i.imgur.com/1vMj3df.jpg 这是我正在使用的代码: 我希望删除“ perl is a family”上方的内容,并仅打印出段落。 示例将其打印出来: 我要删除: 我只
1回复

perl用LWP获取网页错误:简单

我有一个正在上学的项目,但似乎在这里出错了... 我收到“无法在第5行的未定义值上调用方法'content'”
1回复

获取响应会在LWP中返回原始页面

我正在尝试提交表单,但不填写任何内容并获取响应页面。 但是我只是得到原始页面(带有表单)而不打印响应。 我究竟做错了什么? 编辑:这只是找到正确的参数传递给页面的问题。 为了弄清楚这一点,我在结果页上使用了Chrome开发者工具,然后依次转到“网络”标签和标题。 向下滚动一点
1回复

LWP :: Simple get()神秘失败

在http://perlmeme.org/tutorials/lwp.html中 ,使用LWP :: Simple的第一个示例无效。 我只是复制代码并运行: 而且它不起作用,抛出错误: Unable to get page at get.pl line 6. 这是怎么回事?
4回复

无法在cygwin上安装LWP :: Simple

我是一个Perl初学者试图在cygwin上安装LWP :: Simple(CYGWIN_NT-6.3),但是无法安装。 安装似乎从一开始就出错了。 你能帮我解决一下这个问题吗?
2回复

LWP ::简单比完整的LWP快吗?

我有时会使用LWP :: Simple Perl模块,据我所知,它是完整LWP模块的简化版本。 我盲目地使用它,因为有人建议我暂时使用它。 在整个软件包中使用它有什么好处,它更快,更容易使用吗?
1回复

使用LWP :: UserAgent获取“ 500 Internal Server Error”检索页面

我正在尝试使用LWP :: UserAgent检索页面,但是我一直收到“ 500 Internal Server Error”作为响应。 在Firefox中检索完全相同的页面(使用新的“私人窗口”-因此未设置任何cookie)可以成功而不会出现问题。 我已经完全复制了Firefox发送的
2回复

Perl LWP :: Simple HTTPS错误

我正在尝试获取网站的内容并进行打印。 该代码可以按照我希望与常规HTTP网站一起使用的方式工作,但不适用于HTTPS。 我已查找了针对此问题的修复程序,但它们在我的程序中不起作用。 这是我目前拥有的代码: 这是我得到的错误: