From b5765ba8744506178cfeda591cfe88ae242496b9 Mon Sep 17 00:00:00 2001 From: mjjo Date: Thu, 14 Jul 2016 16:23:56 +0900 Subject: [PATCH] initial commit --- App.config | 6 + Form1.Designer.cs | 47 + Form1.cs | 150 ++ Form1.resx | 120 ++ HtmlAgility/HtmlAgilityPack.XML | 2468 ++++++++++++++++++++++++++++++ HtmlAgility/HtmlAgilityPack.dll | Bin 0 -> 134656 bytes HtmlAgility/HtmlAgilityPack.pdb | Bin 0 -> 271872 bytes NewsCrawler.csproj | 93 ++ NewsCrawler.sln | 22 + Program.cs | 22 + Properties/AssemblyInfo.cs | 36 + Properties/Resources.Designer.cs | 71 + Properties/Resources.resx | 117 ++ Properties/Settings.Designer.cs | 30 + Properties/Settings.settings | 7 + 15 files changed, 3189 insertions(+) create mode 100644 App.config create mode 100644 Form1.Designer.cs create mode 100644 Form1.cs create mode 100644 Form1.resx create mode 100644 HtmlAgility/HtmlAgilityPack.XML create mode 100644 HtmlAgility/HtmlAgilityPack.dll create mode 100644 HtmlAgility/HtmlAgilityPack.pdb create mode 100644 NewsCrawler.csproj create mode 100644 NewsCrawler.sln create mode 100644 Program.cs create mode 100644 Properties/AssemblyInfo.cs create mode 100644 Properties/Resources.Designer.cs create mode 100644 Properties/Resources.resx create mode 100644 Properties/Settings.Designer.cs create mode 100644 Properties/Settings.settings diff --git a/App.config b/App.config new file mode 100644 index 0000000..88fa402 --- /dev/null +++ b/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Form1.Designer.cs b/Form1.Designer.cs new file mode 100644 index 0000000..bde27b4 --- /dev/null +++ b/Form1.Designer.cs @@ -0,0 +1,47 @@ +namespace NewsCrawler +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if(disposing&&(components!=null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(447, 378); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + + } + + #endregion + } +} + diff --git a/Form1.cs b/Form1.cs new file mode 100644 index 0000000..4ee34ae --- /dev/null +++ b/Form1.cs @@ -0,0 +1,150 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace NewsCrawler +{ + public partial class Form1 : Form + { + class NEWS_ITEM + { + public string m_strTitle; + public DateTime m_Time; + public string m_strURL; + } + + + Timer m_Timer = new Timer(); + List m_ItemList = new List(); + + public Form1() + { + InitializeComponent(); + + m_Timer.Tick+=Timer_Tick; + m_Timer.Interval=500; + m_Timer.Start(); + } + + bool ReadAsiaE() + { + bool bHasNew = false; + + string strServerURL = "http://www.asiae.co.kr"; + WebRequest request = WebRequest.Create("http://www.asiae.co.kr/news/sokbo/sokbo_left.htm"); + request.Credentials=CredentialCache.DefaultCredentials; + + HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + Console.WriteLine(response.StatusDescription); + + Stream dataStream = response.GetResponseStream(); + StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("EUC-KR")); + string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); + + HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); + doc.LoadHtml(responseFromServer); + string strXPath = "//div[contains(@class, 'txtform')]/ul/li"; + var lists = doc.DocumentNode.SelectNodes(strXPath); + foreach(var item in lists) + { + string strTitle = item.SelectSingleNode(".//a").GetAttributeValue("title", ""); + string strTime = item.SelectSingleNode(".//span").InnerText; + string strURL = strServerURL+item.SelectSingleNode(".//a").GetAttributeValue("href", ""); + + if(m_ItemList.Any(c => c.m_strURL==strURL)==false) + { + NEWS_ITEM news = new NEWS_ITEM(); + news.m_strTitle=strTitle; + news.m_Time=DateTime.ParseExact(strTime, "HH:mm", CultureInfo.CurrentCulture); + news.m_strURL=strURL; + + m_ItemList.Add(news); + + bHasNew=true; + } + } + + reader.Close(); + dataStream.Close(); + response.Close(); + + return bHasNew; + } + + bool ReadEtoday() + { + bool bHasNew = false; + + string strServerURL = "http://www.etoday.co.kr"; + WebRequest request = WebRequest.Create("http://www.etoday.co.kr/news/flash/flash_list.php?tab=2"); + request.Credentials=CredentialCache.DefaultCredentials; + + HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + Console.WriteLine(response.StatusDescription); + + Stream dataStream = response.GetResponseStream(); + StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")); + string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); + + HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); + doc.LoadHtml(responseFromServer); + string strXPath = "//div[contains(@class, 'flash_tab_lst')]/ul/li"; + var lists = doc.DocumentNode.SelectNodes(strXPath); + foreach(var item in lists) + { + string strTitle = item.SelectSingleNode(".//a").InnerText; + string strTime = item.SelectSingleNode(".//span[contains(@class, 'flash_press')]").InnerText; + string strURL = item.SelectSingleNode(".//a").GetAttributeValue("href", ""); + strURL = "http://www.etoday.co.kr/news/section/newsview.php?idxno="+Regex.Replace(strURL, @"\D", ""); + + if(m_ItemList.Any(c => c.m_strURL==strURL)==false) + { + NEWS_ITEM news = new NEWS_ITEM(); + news.m_strTitle=strTitle; + news.m_Time=DateTime.ParseExact(strTime, "HH:mm", CultureInfo.CurrentCulture); + news.m_strURL=strURL; + + m_ItemList.Add(news); + + bHasNew=true; + } + } + + reader.Close(); + dataStream.Close(); + response.Close(); + + return bHasNew; + } + + private void Timer_Tick(object sender, EventArgs e) + { + bool bHasNew1 = ReadAsiaE(); + bool bHasNew2 = ReadEtoday(); + + if(bHasNew1 ||bHasNew2) + { + m_ItemList.Sort((NEWS_ITEM news1, NEWS_ITEM news2) => news1.m_Time.CompareTo(news2.m_Time)); + + foreach(var item in m_ItemList) + { + string strResult = string.Format("[{0}] {1} ({2})", item.m_Time, item.m_strTitle, item.m_strURL); + Console.WriteLine(strResult); + System.IO.File.AppendAllText("output.txt", strResult+"\n", Encoding.GetEncoding("EUC-KR")); + } + } + + + } + } +} diff --git a/Form1.resx b/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/HtmlAgility/HtmlAgilityPack.XML b/HtmlAgility/HtmlAgilityPack.XML new file mode 100644 index 0000000..15c8c7d --- /dev/null +++ b/HtmlAgility/HtmlAgilityPack.XML @@ -0,0 +1,2468 @@ + + + + HtmlAgilityPack + + + + + Represents a combined list and collection of HTML nodes. + + + + + Adds supplied item to collection + + + + + + Explicit clear + + + + + Retreives existence of supplied item + + + + + + + Copies collection to array + + + + + + + Get Explicit enumerator + + + + + + Explicit non-generic enumerator + + + + + + Retrieves the index for the supplied item, -1 if not found + + + + + + + Inserts given item into collection at supplied index + + + + + + + Explicit collection remove + + + + + + + Removes the attribute at the specified index. + + The index of the attribute to remove. + + + + Adds a new attribute to the collection with the given values + + + + + + + Inserts the specified attribute as the last attribute in the collection. + + The attribute to insert. May not be null. + The appended attribute. + + + + Creates and inserts a new attribute as the last attribute in the collection. + + The name of the attribute to insert. + The appended attribute. + + + + Creates and inserts a new attribute as the last attribute in the collection. + + The name of the attribute to insert. + The value of the attribute to insert. + The appended attribute. + + + + Checks for existance of attribute with given name + + + + + + + Inserts the specified attribute as the first node in the collection. + + The attribute to insert. May not be null. + The prepended attribute. + + + + Removes a given attribute from the list. + + The attribute to remove. May not be null. + + + + Removes an attribute from the list, using its name. If there are more than one attributes with this name, they will all be removed. + + The attribute's name. May not be null. + + + + Remove all attributes in the list. + + + + + Returns all attributes with specified name. Handles case insentivity + + Name of the attribute + + + + + Removes all attributes from the collection + + + + + Clears the attribute collection + + + + + Gets a given attribute from the list using its name. + + + + + Gets the number of elements actually contained in the list. + + + + + Gets readonly status of colelction + + + + + Gets the attribute at the specified index. + + + + + Represents an HTML comment. + + + + + Represents an HTML node. + + + + + Creates a new XPathNavigator object for navigating this HTML node. + + An XPathNavigator object. The XPathNavigator is positioned on the node from which the method was called. It is not positioned on the root of the document. + + + + Creates an XPathNavigator using the root of this document. + + + + + + Selects a list of nodes matching the expression. + + The XPath expression. + An containing a collection of nodes matching the query, or null if no node matched the XPath expression. + + + + Selects the first XmlNode that matches the XPath expression. + + The XPath expression. May not be null. + The first that matches the XPath query or a null reference if no matching node was found. + + + + Gets the name of a comment node. It is actually defined as '#comment'. + + + + + Gets the name of the document node. It is actually defined as '#document'. + + + + + Gets the name of a text node. It is actually defined as '#text'. + + + + + Gets a collection of flags that define specific behaviors for specific element nodes. + The table contains a DictionaryEntry list with the lowercase tag name as the Key, and a combination of HtmlElementFlags as the Value. + + + + + Initialize HtmlNode. Builds a list of all tags that have special allowances + + + + + Initializes HtmlNode, providing type, owner and where it exists in a collection + + + + + + + + Determines if an element node can be kept overlapped. + + The name of the element node to check. May not be null. + true if the name is the name of an element node that can be kept overlapped, false otherwise. + + + + Creates an HTML node from a string representing literal HTML. + + The HTML text. + The newly created node instance. + + + + Determines if an element node is a CDATA element node. + + The name of the element node to check. May not be null. + true if the name is the name of a CDATA element node, false otherwise. + + + + Determines if an element node is closed. + + The name of the element node to check. May not be null. + true if the name is the name of a closed element node, false otherwise. + + + + Determines if an element node is defined as empty. + + The name of the element node to check. May not be null. + true if the name is the name of an empty element node, false otherwise. + + + + Determines if a text corresponds to the closing tag of an node that can be kept overlapped. + + The text to check. May not be null. + true or false. + + + + Returns a collection of all ancestor nodes of this element. + + + + + + Get Ancestors with matching name + + + + + + + Returns a collection of all ancestor nodes of this element. + + + + + + Gets all anscestor nodes and the current node + + + + + + + Adds the specified node to the end of the list of children of this node. + + The node to add. May not be null. + The node added. + + + + Adds the specified node to the end of the list of children of this node. + + The node list to add. May not be null. + + + + Gets all Attributes with name + + + + + + + Creates a duplicate of the node + + + + + + Creates a duplicate of the node and changes its name at the same time. + + The new name of the cloned node. May not be null. + The cloned node. + + + + Creates a duplicate of the node and changes its name at the same time. + + The new name of the cloned node. May not be null. + true to recursively clone the subtree under the specified node; false to clone only the node itself. + The cloned node. + + + + Creates a duplicate of the node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. + The cloned node. + + + + Creates a duplicate of the node and the subtree under it. + + The node to duplicate. May not be null. + + + + Creates a duplicate of the node. + + The node to duplicate. May not be null. + true to recursively clone the subtree under the specified node, false to clone only the node itself. + + + + Gets all Descendant nodes for this node and each of child nodes + + + + + + Returns a collection of all descendant nodes of this element, in document order + + + + + + Gets all Descendant nodes in enumerated list + + + + + + Get all descendant nodes with matching name + + + + + + + Returns a collection of all descendant nodes of this element, in document order + + + + + + Gets all descendant nodes including this node + + + + + + + Gets first generation child node matching name + + + + + + + Gets matching first generation child nodes matching name + + + + + + + Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned. + + The name of the attribute to get. May not be null. + The default value to return if not found. + The value of the attribute if found, the default value if not found. + + + + Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned. + + The name of the attribute to get. May not be null. + The default value to return if not found. + The value of the attribute if found, the default value if not found. + + + + Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned. + + The name of the attribute to get. May not be null. + The default value to return if not found. + The value of the attribute if found, the default value if not found. + + + + Inserts the specified node immediately after the specified reference node. + + The node to insert. May not be null. + The node that is the reference node. The newNode is placed after the refNode. + The node being inserted. + + + + Inserts the specified node immediately before the specified reference node. + + The node to insert. May not be null. + The node that is the reference node. The newChild is placed before this node. + The node being inserted. + + + + Adds the specified node to the beginning of the list of children of this node. + + The node to add. May not be null. + The node added. + + + + Adds the specified node list to the beginning of the list of children of this node. + + The node list to add. May not be null. + + + + Removes node from parent collection + + + + + Removes all the children and/or attributes of the current node. + + + + + Removes all the children of the current node. + + + + + Removes the specified child node. + + The node being removed. May not be null. + The node removed. + + + + Removes the specified child node. + + The node being removed. May not be null. + true to keep grand children of the node, false otherwise. + The node removed. + + + + Replaces the child node oldChild with newChild node. + + The new node to put in the child list. + The node being replaced in the list. + The node replaced. + + + + Helper method to set the value of an attribute of this node. If the attribute is not found, it will be created automatically. + + The name of the attribute to set. May not be null. + The value for the attribute. + The corresponding attribute instance. + + + + Saves all the children of the node to the specified TextWriter. + + The TextWriter to which you want to save. + + + + Saves all the children of the node to a string. + + The saved string. + + + + Saves the current node to the specified TextWriter. + + The TextWriter to which you want to save. + + + + Saves the current node to the specified XmlWriter. + + The XmlWriter to which you want to save. + + + + Saves the current node to a string. + + The saved string. + + + + Gets the collection of HTML attributes for this node. May not be null. + + + + + Gets all the children of the node. + + + + + Gets a value indicating if this node has been closed or not. + + + + + Gets the collection of HTML attributes for the closing tag. May not be null. + + + + + Gets the first child of the node. + + + + + Gets a value indicating whether the current node has any attributes. + + + + + Gets a value indicating whether this node has any child nodes. + + + + + Gets a value indicating whether the current node has any attributes on the closing tag. + + + + + Gets or sets the value of the 'id' HTML attribute. The document must have been parsed using the OptionUseIdAttribute set to true. + + + + + Gets or Sets the HTML between the start and end tags of the object. + + + + + Gets or Sets the text between the start and end tags of the object. + + + + + Gets the last child of the node. + + + + + Gets the line number of this node in the document. + + + + + Gets the column number of this node in the document. + + + + + Gets or sets this node's name. + + + + + Gets the HTML node immediately following this element. + + + + + Gets the type of this node. + + + + + The original unaltered name of the tag + + + + + Gets or Sets the object and its content in HTML. + + + + + Gets the to which this node belongs. + + + + + Gets the parent of this node (for nodes that can have parents). + + + + + Gets the node immediately preceding this node. + + + + + Gets the stream position of this node in the document, relative to the start of the document. + + + + + Gets a valid XPath string that points to this node + + + + + Gets or Sets the comment text of the node. + + + + + Gets or Sets the HTML between the start and end tags of the object. In the case of a text node, it is equals to OuterHtml. + + + + + Gets or Sets the object and its content in HTML. + + + + + Represents a complete HTML document. + + + + + Detects the encoding of an HTML document from a file first, and then loads the file. + + The complete file path to be read. + + + + Detects the encoding of an HTML document from a file first, and then loads the file. + + The complete file path to be read. May not be null. + true to detect encoding, false otherwise. + + + + Detects the encoding of an HTML file. + + Path for the file containing the HTML document to detect. May not be null. + The detected encoding. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + The character encoding to use. May not be null. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + The character encoding to use. May not be null. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + The character encoding to use. May not be null. + Indicates whether to look for byte order marks at the beginning of the file. + The minimum buffer size. + + + + Saves the mixed document to the specified file. + + The location of the file where you want to save the document. + + + + Saves the mixed document to the specified file. + + The location of the file where you want to save the document. May not be null. + The character encoding to use. May not be null. + + + + Creates a new XPathNavigator object for navigating this HTML document. + + An XPathNavigator object. The XPathNavigator is positioned on the root of the document. + + + + Adds Debugging attributes to node. Default is false. + + + + + Defines if closing for non closed nodes must be done at the end or directly in the document. + Setting this to true can actually change how browsers render the page. Default is false. + + + + + Defines if non closed nodes will be checked at the end of parsing. Default is true. + + + + + Defines if a checksum must be computed for the document while parsing. Default is false. + + + + + Defines the default stream encoding to use. Default is System.Text.Encoding.Default. + + + + + Defines if source text must be extracted while parsing errors. + If the document has a lot of errors, or cascading errors, parsing performance can be dramatically affected if set to true. + Default is false. + + + + + Defines the maximum length of source text or parse errors. Default is 100. + + + + + Defines if LI, TR, TH, TD tags must be partially fixed when nesting errors are detected. Default is false. + + + + + Defines if output must conform to XML, instead of HTML. + + + + + Defines if attribute value output must be optimized (not bound with double quotes if it is possible). Default is false. + + + + + Defines if name must be output with it's original case. Useful for asp.net tags and attributes + + + + + Defines if name must be output in uppercase. Default is false. + + + + + Defines if declared encoding must be read from the document. + Declared encoding is determined using the meta http-equiv="content-type" content="text/html;charset=XXXXX" html node. + Default is true. + + + + + Defines the name of a node that will throw the StopperNodeException when found as an end node. Default is null. + + + + + Defines if the 'id' attribute must be specifically used. Default is true. + + + + + Defines if empty nodes must be written as closed during output. Default is false. + + + + + Creates an instance of an HTML document. + + + + + Gets a valid XML name. + + Any text. + A string that is a valid XML name. + + + + Applies HTML encoding to a specified string. + + The input string to encode. May not be null. + The encoded string. + + + + Determines if the specified character is considered as a whitespace character. + + The character to check. + true if if the specified character is considered as a whitespace character. + + + + Creates an HTML attribute with the specified name. + + The name of the attribute. May not be null. + The new HTML attribute. + + + + Creates an HTML attribute with the specified name. + + The name of the attribute. May not be null. + The value of the attribute. + The new HTML attribute. + + + + Creates an HTML comment node. + + The new HTML comment node. + + + + Creates an HTML comment node with the specified comment text. + + The comment text. May not be null. + The new HTML comment node. + + + + Creates an HTML element node with the specified name. + + The qualified name of the element. May not be null. + The new HTML node. + + + + Creates an HTML text node. + + The new HTML text node. + + + + Creates an HTML text node with the specified text. + + The text of the node. May not be null. + The new HTML text node. + + + + Detects the encoding of an HTML stream. + + The input stream. May not be null. + The detected encoding. + + + + Detects the encoding of an HTML text provided on a TextReader. + + The TextReader used to feed the HTML. May not be null. + The detected encoding. + + + + Detects the encoding of an HTML text. + + The input html text. May not be null. + The detected encoding. + + + + Gets the HTML node with the specified 'id' attribute value. + + The attribute id to match. May not be null. + The HTML node with the matching id or null if not found. + + + + Loads an HTML document from a stream. + + The input stream. + + + + Loads an HTML document from a stream. + + The input stream. + Indicates whether to look for byte order marks at the beginning of the stream. + + + + Loads an HTML document from a stream. + + The input stream. + The character encoding to use. + + + + Loads an HTML document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the stream. + + + + Loads an HTML document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the stream. + The minimum buffer size. + + + + Loads the HTML document from the specified TextReader. + + The TextReader used to feed the HTML data into the document. May not be null. + + + + Loads the HTML document from the specified string. + + String containing the HTML document to load. May not be null. + + + + Saves the HTML document to the specified stream. + + The stream to which you want to save. + + + + Saves the HTML document to the specified stream. + + The stream to which you want to save. May not be null. + The character encoding to use. May not be null. + + + + Saves the HTML document to the specified StreamWriter. + + The StreamWriter to which you want to save. + + + + Saves the HTML document to the specified TextWriter. + + The TextWriter to which you want to save. May not be null. + + + + Saves the HTML document to the specified XmlWriter. + + The XmlWriter to which you want to save. + + + + Gets the document CRC32 checksum if OptionComputeChecksum was set to true before parsing, 0 otherwise. + + + + + Gets the document's declared encoding. + Declared encoding is determined using the meta http-equiv="content-type" content="text/html;charset=XXXXX" html node. + + + + + Gets the root node of the document. + + + + + Gets the document's output encoding. + + + + + Gets a list of parse errors found in the document. + + + + + Gets the remaining text. + Will always be null if OptionStopperNodeName is null. + + + + + Gets the offset of Remainder in the original Html text. + If OptionStopperNodeName is null, this will return the length of the original Html text. + + + + + Gets the document's stream encoding. + + + + + Flags that describe the behavior of an Element node. + + + + + The node is a CDATA node. + + + + + The node is empty. META or IMG are example of such nodes. + + + + + The node will automatically be closed during parsing. + + + + + The node can overlap. + + + + + Represents a combined list and collection of HTML nodes. + + + + + Initialize the HtmlNodeCollection with the base parent node + + The base node of the collection + + + + Add node to the collection + + + + + + Clears out the collection of HtmlNodes. Removes each nodes reference to parentnode, nextnode and prevnode + + + + + Gets existence of node in collection + + + + + + + Copy collection to array + + + + + + + Get Enumerator + + + + + + Get Explicit Enumerator + + + + + + Get index of node + + + + + + + Insert node at index + + + + + + + Remove node + + + + + + + Remove at index + + + + + + Get first instance of node in supplied collection + + + + + + + + Add node to the end of the collection + + + + + + Get first instance of node with name + + + + + + + Get index of node + + + + + + + Add node to the beginning of the collection + + + + + + Remove node at index + + + + + + + Replace node at index + + + + + + + Get all node descended from this collection + + + + + + Get all node descended from this collection with matching name + + + + + + Gets all first generation elements in collection + + + + + + Gets all first generation elements matching name + + + + + + + All first generation nodes in collection + + + + + + Gets a given node from the list. + + + + + Get node with tag name + + + + + + + Gets the number of elements actually contained in the list. + + + + + Is collection read only + + + + + Gets the node at the specified index. + + + + + Represents the type of a node. + + + + + The root of a document. + + + + + An HTML element. + + + + + An HTML comment. + + + + + A text node is always the child of an element or a document node. + + + + + Represents a parsing error found during document parsing. + + + + + Gets the type of error. + + + + + Gets the line number of this error in the document. + + + + + Gets the column number of this error in the document. + + + + + Gets a description for the error. + + + + + Gets the the full text of the line containing the error. + + + + + Gets the absolute stream position of this error in the document, relative to the start of the document. + + + + + Represents the type of parsing error. + + + + + A tag was not closed. + + + + + A tag was not opened. + + + + + There is a charset mismatch between stream and declared (META) encoding. + + + + + An end tag was not required. + + + + + An end tag is invalid at this position. + + + + + Represents an HTML text node. + + + + + Gets or Sets the HTML between the start and end tags of the object. In the case of a text node, it is equals to OuterHtml. + + + + + Gets or Sets the object and its content in HTML. + + + + + Gets or Sets the text of the node. + + + + + A utility class to get HTML document from HTTP. + + + + + Creates an instance of the given type from the specified Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The URL that specifies the XSLT stylesheet to load. + An containing the namespace-qualified arguments used as input to the transform. + The requested type. + An newly created instance. + + + + Creates an instance of the given type from the specified Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The URL that specifies the XSLT stylesheet to load. + An containing the namespace-qualified arguments used as input to the transform. + The requested type. + A file path where the temporary XML before transformation will be saved. Mostly used for debugging purposes. + An newly created instance. + + + + Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter, after an XSLT transformation. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The URL that specifies the XSLT stylesheet to load. + An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. + The XmlTextWriter to which you want to save. + + + + Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter, after an XSLT transformation. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". May not be null. + The URL that specifies the XSLT stylesheet to load. + An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. + The XmlTextWriter to which you want to save. + A file path where the temporary XML before transformation will be saved. Mostly used for debugging purposes. + + + + Occurs after an HTTP request has been executed. + + + + + Occurs before an HTML document is handled. + + + + + Occurs before an HTTP request is executed. + + + + + Gets the MIME content type for a given path extension. + + The input path extension. + The default content type to return if any error occurs. + The path extension's MIME content type. + + + + Gets the path extension for a given MIME content type. + + The input MIME content type. + The default path extension to return if any error occurs. + The MIME content type's path extension. + + + + Creates an instance of the given type from the specified Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The requested type. + An newly created instance. + + + + Gets an HTML document from an Internet resource and saves it to the specified file. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The location of the file where you want to save the document. + + + + Gets an HTML document from an Internet resource and saves it to the specified file. - Proxy aware + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The location of the file where you want to save the document. + + + + + + Gets an HTML document from an Internet resource and saves it to the specified file. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The location of the file where you want to save the document. + The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND. + + + + Gets an HTML document from an Internet resource and saves it to the specified file. Understands Proxies + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The location of the file where you want to save the document. + + The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND. + + + + + Gets the cache file path for a specified url. + + The url fo which to retrieve the cache path. May not be null. + The cache file path. + + + + Gets an HTML document from an Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + A new HTML document. + + + + Gets an HTML document from an Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + Host to use for Proxy + Port the Proxy is on + User Id for Authentication + Password for Authentication + A new HTML document. + + + + Loads an HTML document from an Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND. + A new HTML document. + + + + Loads an HTML document from an Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND. + Proxy to use with this request + Credentials to use when authenticating + A new HTML document. + + + + Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The XmlTextWriter to which you want to save to. + + + + Gets or Sets a value indicating if document encoding must be automatically detected. + + + + + Gets or sets the Encoding used to override the response stream from any web request + + + + + Gets or Sets a value indicating whether to get document only from the cache. + If this is set to true and document is not found in the cache, nothing will be loaded. + + + + + Gets or Sets the cache path. If null, no caching mechanism will be used. + + + + + Gets a value indicating if the last document was retrieved from the cache. + + + + + Gets the last request duration in milliseconds. + + + + + Gets the URI of the Internet resource that actually responded to the request. + + + + + Gets the last request status. + + + + + Gets or Sets the size of the buffer used for memory operations. + + + + + Gets or Sets a value indicating if cookies will be stored. + + + + + Gets or Sets the User Agent HTTP 1.1 header sent on any webrequest + + + + + Gets or Sets a value indicating whether the caching mechanisms should be used or not. + + + + + Represents the method that will handle the PostResponse event. + + + + + Represents the method that will handle the PreHandleDocument event. + + + + + Represents the method that will handle the PreRequest event. + + + + + Represents an exception thrown by the HtmlWeb utility class. + + + + + Creates an instance of the HtmlWebException. + + The exception's message. + + + + Represents a fragment of code in a mixed code document. + + + + + Represents a base class for fragments in a mixed code document. + + + + + Gets the fragement text. + + + + + Gets the type of fragment. + + + + + Gets the line number of the fragment. + + + + + Gets the line position (column) of the fragment. + + + + + Gets the fragment position in the document's stream. + + + + + Gets the fragment code text. + + + + + Represents a list of mixed code fragments. + + + + + Gets an enumerator that can iterate through the fragment list. + + + + + Appends a fragment to the list of fragments. + + The fragment to append. May not be null. + + + + Gets an enumerator that can iterate through the fragment list. + + + + + Prepends a fragment to the list of fragments. + + The fragment to append. May not be null. + + + + Remove a fragment from the list of fragments. If this fragment was not in the list, an exception will be raised. + + The fragment to remove. May not be null. + + + + Remove all fragments from the list. + + + + + Remove a fragment from the list of fragments, using its index in the list. + + The index of the fragment to remove. + + + + Gets the Document + + + + + Gets the number of fragments contained in the list. + + + + + Gets a fragment from the list using its index. + + + + + Represents a fragment enumerator. + + + + + Advances the enumerator to the next element of the collection. + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Gets the current element in the collection. + + + + + Gets the current element in the collection. + + + + + Represents the type of fragment in a mixed code document. + + + + + The fragment contains code. + + + + + The fragment contains text. + + + + + Represents a fragment of text in a mixed code document. + + + + + Gets the fragment text. + + + + + A utility class to compute CRC32. + + + + + Compute a checksum for a given array of bytes. + + The array of bytes to compute the checksum for. + The computed checksum. + + + + Compute a checksum for a given string. + + The string to compute the checksum for. + The computed checksum. + + + + Represents an HTML attribute. + + + + + Compares the current instance with another attribute. Comparison is based on attributes' name. + + An attribute to compare with this instance. + A 32-bit signed integer that indicates the relative order of the names comparison. + + + + Creates a duplicate of this attribute. + + The cloned attribute. + + + + Removes this attribute from it's parents collection + + + + + Gets the line number of this attribute in the document. + + + + + Gets the column number of this attribute in the document. + + + + + Gets the qualified name of the attribute. + + + + + Name of attribute with original case + + + + + Gets the HTML document to which this attribute belongs. + + + + + Gets the HTML node to which this attribute belongs. + + + + + Specifies what type of quote the data should be wrapped in + + + + + Gets the stream position of this attribute in the document, relative to the start of the document. + + + + + Gets or sets the value of the attribute. + + + + + Gets a valid XPath string that points to this Attribute + + + + + An Enum representing different types of Quotes used for surrounding attribute values + + + + + A single quote mark ' + + + + + A double quote mark " + + + + + A utility class to replace special characters by entities and vice-versa. + Follows HTML 4.0 specification found at http://www.w3.org/TR/html4/sgml/entities.html + + + + + Replace known entities by characters. + + The source text. + The result text. + + + + Clone and entitize an HtmlNode. This will affect attribute values and nodes' text. It will also entitize all child nodes. + + The node to entitize. + An entitized cloned node. + + + + Replace characters above 127 by entities. + + The source text. + The result text. + + + + Replace characters above 127 by entities. + + The source text. + If set to false, the function will not use known entities name. Default is true. + The result text. + + + + Replace characters above 127 by entities. + + The source text. + If set to false, the function will not use known entities name. Default is true. + If set to true, the [quote], [ampersand], [lower than] and [greather than] characters will be entitized. + The result text + + + + A collection of entities indexed by name. + + + + + A collection of entities indexed by value. + + + + + Represents an HTML navigator on an HTML document seen as a data store. + + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + Indicates whether to look for byte order marks at the beginning of the stream. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + The character encoding to use. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the stream. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the stream. + The minimum buffer size. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a TextReader. + + The TextReader used to feed the HTML data into the document. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + The character encoding to use. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + The minimum buffer size. + + + + Creates a new HtmlNavigator positioned at the same node as this HtmlNavigator. + + A new HtmlNavigator object positioned at the same node as the original HtmlNavigator. + + + + Gets the value of the HTML attribute with the specified LocalName and NamespaceURI. + + The local name of the HTML attribute. + The namespace URI of the attribute. Unsupported with the HtmlNavigator implementation. + The value of the specified HTML attribute. String.Empty or null if a matching attribute is not found or if the navigator is not positioned on an element node. + + + + Returns the value of the namespace node corresponding to the specified local name. + Always returns string.Empty for the HtmlNavigator implementation. + + The local name of the namespace node. + Always returns string.Empty for the HtmlNavigator implementation. + + + + Determines whether the current HtmlNavigator is at the same position as the specified HtmlNavigator. + + The HtmlNavigator that you want to compare against. + true if the two navigators have the same position, otherwise, false. + + + + Moves to the same position as the specified HtmlNavigator. + + The HtmlNavigator positioned on the node that you want to move to. + true if successful, otherwise false. If false, the position of the navigator is unchanged. + + + + Moves to the HTML attribute with matching LocalName and NamespaceURI. + + The local name of the HTML attribute. + The namespace URI of the attribute. Unsupported with the HtmlNavigator implementation. + true if the HTML attribute is found, otherwise, false. If false, the position of the navigator does not change. + + + + Moves to the first sibling of the current node. + + true if the navigator is successful moving to the first sibling node, false if there is no first sibling or if the navigator is currently positioned on an attribute node. + + + + Moves to the first HTML attribute. + + true if the navigator is successful moving to the first HTML attribute, otherwise, false. + + + + Moves to the first child of the current node. + + true if there is a first child node, otherwise false. + + + + Moves the XPathNavigator to the first namespace node of the current element. + Always returns false for the HtmlNavigator implementation. + + An XPathNamespaceScope value describing the namespace scope. + Always returns false for the HtmlNavigator implementation. + + + + Moves to the node that has an attribute of type ID whose value matches the specified string. + + A string representing the ID value of the node to which you want to move. This argument does not need to be atomized. + true if the move was successful, otherwise false. If false, the position of the navigator is unchanged. + + + + Moves the XPathNavigator to the namespace node with the specified local name. + Always returns false for the HtmlNavigator implementation. + + The local name of the namespace node. + Always returns false for the HtmlNavigator implementation. + + + + Moves to the next sibling of the current node. + + true if the navigator is successful moving to the next sibling node, false if there are no more siblings or if the navigator is currently positioned on an attribute node. If false, the position of the navigator is unchanged. + + + + Moves to the next HTML attribute. + + + + + + Moves the XPathNavigator to the next namespace node. + Always returns falsefor the HtmlNavigator implementation. + + An XPathNamespaceScope value describing the namespace scope. + Always returns false for the HtmlNavigator implementation. + + + + Moves to the parent of the current node. + + true if there is a parent node, otherwise false. + + + + Moves to the previous sibling of the current node. + + true if the navigator is successful moving to the previous sibling node, false if there is no previous sibling or if the navigator is currently positioned on an attribute node. + + + + Moves to the root node to which the current node belongs. + + + + + Gets the base URI for the current node. + Always returns string.Empty in the case of HtmlNavigator implementation. + + + + + Gets the current HTML document. + + + + + Gets the current HTML node. + + + + + Gets a value indicating whether the current node has child nodes. + + + + + Gets a value indicating whether the current node has child nodes. + + + + + Gets a value indicating whether the current node is an empty element. + + + + + Gets the name of the current HTML node without the namespace prefix. + + + + + Gets the qualified name of the current node. + + + + + Gets the namespace URI (as defined in the W3C Namespace Specification) of the current node. + Always returns string.Empty in the case of HtmlNavigator implementation. + + + + + Gets the associated with this implementation. + + + + + Gets the type of the current node. + + + + + Gets the prefix associated with the current node. + Always returns string.Empty in the case of HtmlNavigator implementation. + + + + + Gets the text value of the current node. + + + + + Gets the xml:lang scope for the current node. + Always returns string.Empty in the case of HtmlNavigator implementation. + + + + + Wraps getting AppDomain permissions + + + + + An interface for getting permissions of the running application + + + + + Checks to see if Registry access is available to the caller + + + + + + Checks to see if DNS information is available to the caller + + + + + + Checks to see if Registry access is available to the caller + + + + + + Checks to see if DNS information is available to the caller + + + + + + Represents a document with mixed code and text. ASP, ASPX, JSP, are good example of such documents. + + + + + Gets or sets the token representing code end. + + + + + Gets or sets the token representing code start. + + + + + Gets or sets the token representing code directive. + + + + + Gets or sets the token representing response write directive. + + + + + Creates a mixed code document instance. + + + + + Create a code fragment instances. + + The newly created code fragment instance. + + + + Create a text fragment instances. + + The newly created text fragment instance. + + + + Loads a mixed code document from a stream. + + The input stream. + + + + Loads a mixed code document from a stream. + + The input stream. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads a mixed code document from a stream. + + The input stream. + The character encoding to use. + + + + Loads a mixed code document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads a mixed code document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + The minimum buffer size. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + The character encoding to use. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + The minimum buffer size. + + + + Loads the mixed code document from the specified TextReader. + + The TextReader used to feed the HTML data into the document. + + + + Loads a mixed document from a text + + The text to load. + + + + Saves the mixed document to the specified stream. + + The stream to which you want to save. + + + + Saves the mixed document to the specified stream. + + The stream to which you want to save. + The character encoding to use. + + + + Saves the mixed document to the specified file. + + The location of the file where you want to save the document. + + + + Saves the mixed document to the specified file. + + The location of the file where you want to save the document. + The character encoding to use. + + + + Saves the mixed document to the specified StreamWriter. + + The StreamWriter to which you want to save. + + + + Saves the mixed document to the specified TextWriter. + + The TextWriter to which you want to save. + + + + Gets the code represented by the mixed code document seen as a template. + + + + + Gets the list of code fragments in the document. + + + + + Gets the list of all fragments in the document. + + + + + Gets the encoding of the stream used to read the document. + + + + + Gets the list of text fragments in the document. + + + + diff --git a/HtmlAgility/HtmlAgilityPack.dll b/HtmlAgility/HtmlAgilityPack.dll new file mode 100644 index 0000000000000000000000000000000000000000..07a654d1773904d0a32dba0f65d1bd293c2998c4 GIT binary patch literal 134656 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 Xk23}24-w#>8UAtZ#7}VlQ7Q00;`& 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�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 literal 0 HcmV?d00001 diff --git a/NewsCrawler.csproj b/NewsCrawler.csproj new file mode 100644 index 0000000..9bc680e --- /dev/null +++ b/NewsCrawler.csproj @@ -0,0 +1,93 @@ + + + + + Debug + AnyCPU + {9CB860CD-211C-48CB-8A9A-6CA87B74ED7B} + WinExe + Properties + NewsCrawler + NewsCrawler + v4.5.2 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + HtmlAgility\HtmlAgilityPack.dll + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/NewsCrawler.sln b/NewsCrawler.sln new file mode 100644 index 0000000..315f667 --- /dev/null +++ b/NewsCrawler.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NewsCrawler", "NewsCrawler.csproj", "{9CB860CD-211C-48CB-8A9A-6CA87B74ED7B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9CB860CD-211C-48CB-8A9A-6CA87B74ED7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9CB860CD-211C-48CB-8A9A-6CA87B74ED7B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9CB860CD-211C-48CB-8A9A-6CA87B74ED7B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9CB860CD-211C-48CB-8A9A-6CA87B74ED7B}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..0f31f42 --- /dev/null +++ b/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace NewsCrawler +{ + static class Program + { + ///

+ /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c6e3805 --- /dev/null +++ b/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("NewsCrawler")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NewsCrawler")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("9cb860cd-211c-48cb-8a9a-6ca87b74ed7b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs new file mode 100644 index 0000000..73a06d2 --- /dev/null +++ b/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NewsCrawler.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if((resourceMan==null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NewsCrawler.Properties.Resources", typeof(Resources).Assembly); + resourceMan=temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture=value; + } + } + } +} diff --git a/Properties/Resources.resx b/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs new file mode 100644 index 0000000..a2dd92e --- /dev/null +++ b/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NewsCrawler.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Properties/Settings.settings b/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + +