网页抓取(在 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 中?)的主要内容,如果未能解决你的问题,请参考以下文章