提问人:yashash gupta 提问时间:8/27/2021 最后编辑:Panagiotis Kanavosyashash gupta 更新时间:8/27/2021 访问量:141
如何在 c 中从网页中提取特定行#
How to extract a specific line from a webpage in c#
问:
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("https://www.google.com/search?q=" + "msg");
HttpWebResponse myres = (HttpWebResponse)myReq.GetResponse();
using (StreamReader sr = new StreamReader(myres.GetResponseStream()))
{
pageContent = sr.ReadToEnd();
}
if (pageContent.Contains("find"))
{
display = "done";
}
目前,此代码的作用是检查 URL 上是否存在“查找”,如果存在,则显示完成 我想要的是显示包含“find”的整行或段落。
所以就像 display=“done” 一样,我想存储包含 find in display 的行
答:
1赞
Panagiotis Kanavos
8/27/2021
#1
HTML 页面没有行。外部空格标记将被忽略,整个缩小的页面可能根本没有换行符。即使这样做了,换行符也会被忽略,即使在标签中也是如此。这就是为什么是必要的。如果要查找特定元素,则必须使用 HTML 解析器(如 HTMLAgilityPack),并使用 XPath 或 CSS 选择器表达式标识该元素。<br>
从着陆页复制示例:
var url = $"https://www.google.com/search?q={msg}" ;
var web = new HtmlWeb();
var doc = web.Load(url);
var value = doc.DocumentNode
.SelectNodes("//div[@id='center_col']")
.First()
.Attributes["value"].Value;
你放什么取决于你想找到什么。SelectNodes
测试各种表达式的一种方法是在浏览器中打开所需的网页,打开浏览器的开发人员工具,然后在元素检查器中开始搜索。那里的搜索功能接受 XPath 和 CSS 选择器。
评论
<br>