网页抓取(在 R 中?)

Posted

技术标签:

【中文标题】网页抓取(在 R 中?)【英文标题】:Web Scraping (in R?) 【发布时间】:2011-08-15 09:36:43 【问题描述】:

我想获取this 页面中间一列的公司名称(蓝色粗体字),以及注册投诉人的位置指示符(例如“印度,德里” ,用绿色写)。基本上,我想要一个包含两列的表(或数据框),一列用于公司,另一列用于位置。有任何想法吗?

【问题讨论】:

你想用什么语言? 最好是R。但是Python或php也可以。 【参考方案1】:

这是为了匹配蓝色粗体的标题,诀窍是打开页面的源代码并查看您要查找的内容之前和之后的内容,然后使用正则表达式。

preg_match('/>[a-zA-Z0-9]+<\/a><\/h4><\/td>/', $str, $matches);
for($i = 0;$i<sizeof($matches);$i++)
 echo $matches[$i];

您可以查看this。

【讨论】:

【参考方案2】:

您可以使用R 中的XML 包轻松完成此操作。这是代码

url = "http://www.consumercomplaints.in/bysubcategory/mobile-service-providers/page/1.html"
doc = htmlTreeParse(url, useInternalNodes = T)

profiles = xpathSApply(doc, "//a[contains(@href, 'profile')]", xmlValue)
profiles = profiles[!(1:length(profiles) %% 2)]

states   = xpathSApply(doc, "//a[contains(@href, 'bystate')]", xmlValue)

【讨论】:

以上是关于网页抓取(在 R 中?)的主要内容,如果未能解决你的问题,请参考以下文章

网页抓取R中的多个页面

R从网页抓取到文本分析全教程:影评的获取与分析

R从网页抓取到文本分析全教程:影评的获取与分析

R语言网页数据抓取XML数据包

使用 R 进行网页抓取:看不到可下载的链接

怎么利用爬虫技术抓取淘宝搜索页面的产品信息