我想收集一些这样的数据http://www.newcardealers.ca/en/Dealers/List-A.aspx
并将姓名、地址、电话号码、电子邮件等插入数据库。是否有一些软件可以获取网页,让我指定一些正则表达式或类似的东西,然后以 CSV 或某种易于插入数据库的格式输出所有匹配的数据?
答案1
答案2
一种方法是自定义编写自己的抓取工具。这
using HtmlAgilityPack;
...
HtmlDocument doc = new HtmlWeb().Load("http://www.newcardealers.ca/en/Dealers/List-A.aspx");
foreach (HtmlNode td in doc.DocumentNode.SelectNodes("//td[@width='268']"))
{
Console.Write(td.SelectSingleNode("span[@class='BodyTextBold']").InnerText);
Console.WriteLine(td.SelectSingleNode("span[@class='BodyText']").InnerText.Replace("\t\t\t\t", "\r\n"));
}
产生这个
A.M. FORD SALES LIMITED
2795 Highway Drive
Trail, BC V1R2T1
Telephone : 250 364-0202 http://www.amford.com [email protected]
ABBOTSFORD CHRYSLER LTD.
30285 Automall Drive
Abbotsford, BC V2T5M1
Telephone : 604 857-8888 http://www.abbotsfordchrysler.com [email protected]
ACURA OF LANGLEY
19447 Langley ByPass
Surrey, BC V3S6K1
Telephone : 604 539-2111 http://www.acuraoflangley.com [email protected]
...
虽然并不完美,但你知道这是怎么回事。
不确定独立应用程序如何知道如何自动解析它。