wpfc#windows应用程序中的单选按钮过滤器

本文关键字:单选按钮 过滤器 应用程序 wpfc#windows | 更新日期: 2023-09-27 18:21:51

我正在开发一个链接提取器c#应用程序。根据关键字抓取url。就像当用户使用txtKeyWords文本框字段搜索关键字并点击搜索按钮时,他将能够使用打开的谷歌搜索运营商"http://www.google.com/search?num=1000&q="在任何关键字上获取所需的URL
现在我想知道如何添加此代码
http://www.google.com/search?num=50&q=allinurl:site:.edu,以便在rb1.Checked下只抓取edu链接。就像用户选中单选框btn1并在txtKeyWords文本框字段中输入所需关键字时,他就可以获取与查询相关的.edu链接。我已经尝试了几次,但都做不到。这是Search Button 的代码

listBox1.Items.Clear();
            StringBuilder sb = new StringBuilder();
            byte[] ResultsBuffer = new byte[8192];
            string SearchResults = "http://www.google.com/search?num=1000&q=" + txtKeyWords.Text.Trim();
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(SearchResults);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream resStream = response.GetResponseStream();
            string tempString = null;
            int count = 0;
            do
            {
                count = resStream.Read(ResultsBuffer, 0, ResultsBuffer.Length);
                if (count != 0)
                {
                    tempString = Encoding.ASCII.GetString(ResultsBuffer, 0, count);
                    sb.Append(tempString);
                }
            }
            while (count > 0);
            string sbb = sb.ToString();
            HtmlAgilityPack.HtmlDocument html = new HtmlAgilityPack.HtmlDocument();
            html.OptionOutputAsXml = true;
            html.LoadHtml(sbb);
            HtmlNode doc = html.DocumentNode;
            foreach (HtmlNode link in doc.SelectNodes("//a[@href]"))
            {
                //HtmlAttribute att = link.Attributes["href"];
                string hrefValue = link.GetAttributeValue("href", string.Empty);
                if (!hrefValue.ToString().ToUpper().Contains("GOOGLE") && hrefValue.ToString().Contains("/url?q=") && hrefValue.ToString().ToUpper().Contains("HTTP://"))
                {
                    int index = hrefValue.IndexOf("&");
                    if (index > 0)
                    {
                        hrefValue = hrefValue.Substring(0, index);
                        listBox1.Items.Add(hrefValue.Replace("/url?q=", ""));
                    }
                }
            }

wpfc#windows应用程序中的单选按钮过滤器

如果你的搜索总是使用谷歌,你可能只想使用URL本身进行过滤。

因此,您可以将单选按钮文本附加到类似于以下的字符串中。。。

string SearchResults="http://www.google.com/search?num=1000&q="+txtKeyWords.Text.Trim()+"&as_sitesearch="+radioButton1.Text.Trim()

这将产生这样的URL。。。

https://www.google.com/search?num=1000&q=汽车&as_sitesearch=.edu

然后,结果应该通过您的单选框选择进行过滤(在这种情况下,.edu)。

现在,每个结果都应该包含".edu"

希望这能有所帮助!

忘了提一下:如果你需要进一步过滤,使用谷歌高级搜索,它会为你构建URL。。。https://www.google.com/advanced_search