c#网络爬虫错误

本文关键字:错误 爬虫 网络 | 更新日期: 2023-09-27 18:14:27

有没有人可以帮助我这个网络爬虫,我一直得到错误:

不能隐式转换类型"System.Collections.Generic。ISt' to '字符串

这个错误是在行的地方,它是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;
    }
}
}

c#网络爬虫错误

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