【问题标题】:Error with C# Web crawlerC# Web 爬虫出错
【发布时间】:2015-09-25 09:36:51
【问题描述】:

有人可以帮我解决这个网络爬虫吗,我一直收到错误:

不能隐式转换类型 'System.Collections.Generic.ISt' 到 'string.

这个错误在String Links = GetNewLinks(Rstring);的位置,有人可以帮忙吗,这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;



namespace Crawler
{
public partial class Crawler : Form
{
    String Rstring;

    public Crawler()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

        WebRequest myWebRequest;
        WebResponse myWebResponse;
        String URL = txt1.Text;

        myWebRequest = WebRequest.Create(URL);
        myWebResponse = myWebRequest.GetResponse();

        Stream streamResponse = myWebResponse.GetResponseStream();

        StreamReader sreader = new StreamReader(streamResponse);
        Rstring = sreader.ReadToEnd();
        String Links = GetNewLinks(Rstring);

        txt2.Text = Rstring;
        txt3.Text = Links;
        sreader.Close();
        streamResponse.Close();
        myWebResponse.Close();

    }

    public ISet<string> GetNewLinks(string content)
    {
        Regex regexL = new Regex("(?<=<a\\s*?href=(?:'|\"))[^'\"]*?(?=(?:'|\"))");

        ISet<string> newLinks = new HashSet<string>();
        foreach (var match in regexL.Matches(content))
        {
            if (!newLinks.Contains(match.ToString()))
                newLinks.Add(match.ToString());
        }

        return newLinks;
    }
}
}

【问题讨论】:

  • 嗯,是的——你有一个返回一组字符串的方法,你正试图将它分配给String类型的变量。您期望如何工作?
  • 它不是家庭作业,它是我正在从事的个人项目......

标签: c# web-crawler


【解决方案1】:

GetNewLinks() 返回一组字符串 (ISet&lt;String&gt;),而不仅仅是一个。因此,如果您想分配给单个字符串 (String Links),那么您必须从集合中选择一个字符串,例如使用First()

【讨论】:

    猜你喜欢
    • 2019-11-07
    • 1970-01-01
    • 2018-08-13
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    相关资源
    最近更新 更多