首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB urlread不适用于特定的网页

MATLAB urlread不适用于特定的网页
EN

Stack Overflow用户
提问于 2015-11-12 21:47:36
回答 3查看 890关注 0票数 4

我正在尝试使用MATLAB中的urlread()函数来抓取一个网页,尽管我遇到了一个我以前从未见过的问题。当我运行代码时

X = urlread('http://espn.go.com/mens-college-basketball/schedule/_/date/20141114');

我知道错误了

Error using urlreadwrite (line 92) The server did not find a resource to match this request.

Error in urlread (line 36) [s,status] = urlreadwrite(mfilename,catchErrors,url,varargin{:});

当我试图访问浏览器(/date/20141114)上的链接时,访问该页面没有问题。有人能解决这个问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-12 22:55:39

该站点似乎正在阻止http请求中的默认MATLAB Rxxxxx用户代理参数。

假装用户代理似乎可以绕过这个限制:

代码语言:javascript
复制
x = urlread('http://espn.go.com/mens-college-basketball/schedule/_/date/20141114', 'UserAgent', 'Mozilla/5.0');
票数 5
EN

Stack Overflow用户

发布于 2015-11-14 17:21:46

这对我没什么用,但这个确实有效。

代码语言:javascript
复制
URL = 'http://espn.go.com/mens-college-basketball/schedule/_/date/20141114';
str = urlread(URL,'Get',{'term','urlread'});
票数 0
EN

Stack Overflow用户

发布于 2015-11-14 17:26:18

尽管我认为r和Python对于web抓取练习来说要好得多。

这是一个很好的R脚本。

代码语言:javascript
复制
library(rvest)
rawhtml <- read_html("http://espn.go.com/mens-college-basketball/schedule/_/date/20141114")
rvested <- rawhtml %>% 
    html_nodes("table") %>%
    html_table(fill = TRUE) %>%
    .[[1]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33682063

复制
相关文章

相似问题

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