DotNetWikiBot -


MIT
Windows
C#

软件简介

DotNetWikiBot Framework 是一个全功能的客户端API和一个控制台应用,用来构建抓取基于
MediaWiki 网站的爬虫,采用 .NET 开发。

示例代码:

using DotNetWikiBot;    // Reference DotNetWikiBot namespace for easy access

class MyBot : Bot   // Derive your bot class from framework's Bot class  
{  
    public static void Main()  
    {  
        // Firstly make Site object, specifying site's URL and your bot account  
        Site enWiki = new Site("http://en.wikipedia.org", "myBotLogin", "myPassword");  
        // Then make Page object, specifying site and page title in constructor  
        Page p = new Page(enWiki, "Art");  
        // Load actual page text from live wiki  
        p.Load();  
        // Add "Visual arts" category link to "Art" page's text  
        p.AddToCategory("Visual arts");  
        // Save "Art" article's text back to live wiki with specified comment  
        p.Save("comment: category link added", true);

        // Make empty PageList object, representing collection of pages  
        PageList pl = new PageList(enWiki);  
        // Fill it with 100 pages, where "nuclear disintegration" is mentioned  
        pl.FillFromGoogleSearchResults("nuclear disintegration", 100);  
        // Load texts and metadata of all found pages from live wiki  
        pl.LoadEx();  
        // Now suppose, that we must correct some typical mistake in all our pages  
        foreach (Page i in pl)  
            // In each page we will replace one phrase with another  
            i.text = i.text.Replace("fusion products", "fission products");  
        // Finally we'll save all changed pages to wiki with 5 seconds interval           
        pl.SaveSmoothly(5, "comment: mistake autocorrection", true);

        // Now clear our PageList so we could re-use it  
        pl.Clear();  
        // Fill it with all articles in "Astronomy" category and it's subcategories  
        pl.FillFromCategoryTree("Astronomy");  
        // Download and save all PageList's articles to specified local XML file  
        pl.SaveXMLDumpToFile("Dumps\\ArticlesAboutAstronomy.xml");        
    }  
}