首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我不能使用LWP::Simple获取维基百科页面?

为什么我不能使用LWP::Simple获取维基百科页面?
EN

Stack Overflow用户
提问于 2008-08-23 19:54:10
回答 5查看 3.6K关注 0票数 11

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

代码语言:javascript
运行
复制
#!/usr/bin/perl
use strict;
use LWP::Simple;

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

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

有没有其他我应该用来指代维基百科页面的名字?

这到底是怎么回事?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-08-23 20:33:01

显然维基百科阻止了LWP::Simple requests:http://www.perlmonks.org/?node_id=695886

下面的代码可以替代:

代码语言:javascript
运行
复制
#!/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;
票数 18
EN

Stack Overflow用户

发布于 2008-09-16 14:44:30

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

代码语言:javascript
运行
复制
use LWP::Simple qw/get $ua/;
$ua->agent("WikiBot/0.1");
print get("http://en.wikipedia.org/wiki/Stack_overflow");
票数 11
EN

Stack Overflow用户

发布于 2012-11-02 17:43:05

我用LWP:RobotUA而不是LWP::UserAgent解决了这个问题。你可以阅读下面的文档。您不需要修改太多的差异。

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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档