C# 使用C Web爬虫时出错
有人能帮我解决这个问题吗?我一直收到错误信息: 无法隐式转换类型 'System.Collections.Generic.ISt'to'字符串 此错误位于字符串Links=GetNewLinksString;,有人能帮忙吗,这是我的密码:C# 使用C Web爬虫时出错,c#,web-crawler,C#,Web Crawler,有人能帮我解决这个问题吗?我一直收到错误信息: 无法隐式转换类型 'System.Collections.Generic.ISt'to'字符串 此错误位于字符串Links=GetNewLinksString;,有人能帮忙吗,这是我的密码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System
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;
}
}
}
GetNewLinks返回一组字符串ISet,而不仅仅是一个。因此,如果要将链接分配给单个字符串,则必须从集合中选择一个字符串,例如,使用。Well yes-您有一个方法返回一组字符串,并尝试将其分配给string类型的变量。你认为这是怎么回事?这不是家庭作业,这是我正在做的个人项目。。。