0

我是页面抓取的新手,我不知道从哪里开始。进行页面抓取的最简单方法是什么?您对此有何看法,哪些网络技术最适合?谁能帮帮我,谢谢。

4

2 回答 2

0

查看html agility pack

例子:

这要看情况。例如,如果一个标签有一个类并且它是唯一的——它是一个函数,但是如果有多个标签,你需要根据标签位置来思考和创建你的函数,另一种没有标签的情况,你会必须计算 html 元素;例如,您可能还需要遍历表行。

下面的示例与您需要的类似。(不确定它是否仍然有效,因为如果页面布局发生变化,它可能会失败。)但它给出了这个想法,你可以从那里开始。

PS - 提问时请给出确切的问题,而不是模糊的问题。

C# 示例:

                String openUrl = @"http://www.ebay.com/sch/-/11724/i.html?_nkw=" + some_part_number + "&_armrs=1&LH_Complete=1";

                HtmlWeb hw = new HtmlWeb();
                hw.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
                HtmlAgilityPack.HtmlDocument doc = hw.Load(openUrl);

                foreach (HtmlNode nd in doc.DocumentNode.SelectNodes("//tr[@itemprop='offers']"))
                {
                    String title = "";
                    title = Regex.Split(nd.InnerHtml.ToString(), ("title='"))[1].Trim();
                    title = Regex.Split(title, "'")[0].Trim();
                }
于 2012-12-01T21:35:44.450 回答
-1

可能最好和最简单的方法是使用雅虎查询语言 YQL。使用起来很简单。你也可以使用 yql 的 yahoo 管道。去谷歌上查询。你可以从这里开始:http: //ijaar.com/basic-yql-tutorials/

还有一些关于堆栈上的屏幕抓取的问题,所以检查一下。

是的,yql 不是唯一的技术,你也可以使用 php、xquery,甚至 python,但在我看来这是最简单的——而且效果很好。

于 2012-12-01T21:28:02.283 回答