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