我正在尝试从谷歌产品页面中搜索特定的html标签,包括他们的数据。我希望得到所有< li>此有序列表中的标记并将它们放在列表中。 这是代码:
<td valign="top">
<div id="center_col">
<div id="res">
<div id="ires">
<ol>
<li class="g">
<div class="pslires">
<div class="psliimg">
<a href=
"https://www.google.com">
</a>
</div>
<div class="psliprice">
<div>
<b>$59.99</b> used
</div><cite>google auctions</cite>
</div>
<div class="pslimain">
<h3 class="r"><a href=
"https://www.google.com">
google</a></h3>
<div>
dummy data </div>
</div>
</div>
</li>
<li class="g">
<div class="pslires">
<div class="psliimg">
<a href=
"https://www.google.com">
</a>
</div>
<div class="psliprice">
<div>
<b>$59.99</b> used
</div><cite>google auctions</cite>
</div>
<div class="pslimain">
<h3 class="r"><a href=
"https://www.google.com">
google</a></h3>
<div>
dummy data </div>
</div>
</div>
</li>
<li class="g">
<div class="pslires">
<div class="psliimg">
<a href=
"https://www.google.com">
</a>
</div>
<div class="psliprice">
<div>
<b>$59.99</b> used
</div><cite>google auctions</cite>
</div>
<div class="pslimain">
<h3 class="r"><a href=
"https://www.google.com">
google</a></h3>
<div>
dummy data </div>
</div>
</div>
</li>
<li class="g">
<div class="pslires">
<div class="psliimg">
<a href=
"https://www.google.com">
</a>
</div>
<div class="psliprice">
<div>
<b>$59.99</b> used
</div><cite>google auctions</cite>
</div>
<div class="pslimain">
<h3 class="r"><a href=
"https://www.google.com">
google</a></h3>
<div>
dummy data </div>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
<div id="foot">
<p class="flc" id="bfl" style="margin:19px 0 0;text-align:center"><a href=
"/support/websearch/bin/answer.py?answer=134479&hl=en">Search Help</a>
<a href=
"/quality_form?q=Pioneer+Automotive+PF-555-2000&hl=en&tbm=shop">Give us
feedback</a></p>
<div class="flc" id="fll" style="margin:19px auto 19px auto;text-align:center">
<a href="/">Google Home</a> <a href=
"/intl/en/ads">Advertising Programs</a> <a href="/services">Business
Solutions</a> <a href="/intl/en/policies/">Privacy & Terms</a> <a href=
"/intl/en/about.html">About Google</a>
</div>
</div>
</td>
我想获得每个标签和数据。 如果可能,请告诉我。 谢谢,天使
答案 0 :(得分:2)
而不是使用像xml解析器这样的正则表达式可能对您的情况更有用。将其加载到xml文档中,然后使用SelectNodes之类的东西来获取您正在寻找的数据
答案 1 :(得分:1)
我不会将正则表达式用于此特定问题。
相反,我会这样攻击它:
1)将页面保存为html字符串。 2)使用前面提到的htmlagilitypack或htmltidy(我的偏好)转换为XML。 3)使用xDocument按标签导航Dom对象并保存数据。
尝试创建正则表达式以从可能流畅的HTML页面中提取数据会让您心碎。
答案 2 :(得分:0)
您可以使用HtmlAgilityPack
来解析HTML,而不是使用正则表达式。
var doc = new HtmlDocument();
doc.LoadHtml(html);
var listItems = doc.DocumentNode.SelectNodes("//li");
上面的代码将为您提供文档中的所有<li>
项。要将它们添加到列表中,您只需要迭代集合并将每个项目添加到列表中。