![](/img/trans.png)
[英]C# Regex to grab 2 pieces of info from each HTML TR element - located inside different TD elements
[英]C# Search in html, get links, follow them and grab some info from each page
我不要求完整的解决方案。 听到任何建议会很高兴。
如果已经问过这种问题,我感到抱歉。 好吧,我有一个包含很多行的html文件(保存在我的PC上)。 例:
</li><li class="vertical" style="width: 20%;">
<div class="item-box vertical flex-auto">
<div class="image-box vertical center flex-auto"><a target="_blank" href="https://www.aliexpress.com/item/-/32794448855.html?scm=1007.14110.78103.0&pvid=98337ce3-4886-4639-99f3-5dcaf226a0af" class="fade-in"><img src="./Электроника – Распродажа «Нам 7 лет» – AliExpress.com_files/HTB1fDZgPFXXXXXiapXXq6xXFXXXQ.jpg_350x350.jpg" alt="KingDian Новый Универсальный 2.5 "до 3.5" SSD HDD Окружающей Среды Пластмасс Адаптер Кронштейн Держатель Жесткого Диска для Настольных ПК"> </a></div>
这段代码包含这样的链接:
https://www.aliexpress.com/item/-/32794448855.html?scm=1007.14110.78103.0&pvid=98337ce3-4886-4639-99f3-5dcaf226a0af
我需要抓住所有类似的链接。 将它们导出到任何类型的文档。 跟着他们。 在每一页上,我需要找到包含价格的行(每一页上的ID为“ j-sku-discount-price”)。
<span id="j-sku-discount-price" class="p-price" itemprop="price" style="color: rgb(247, 43, 76);">4 467,04</span>
这是在html代码中找到的价格:
4 467,04
和出口价格,因此它将接近其链接。
例如:
https://www.aliexpress.com/item/-/32794448855.html?scm=1007.14110.78103.0&pvid=98337ce3-4886-4639-99f3-5dcaf226a0af 4 467,04
如果可以将其存储在Excel中,那将是完美的。
感谢您的想法。
您应该使用HtmlAgilityPack,然后在HTML文档上使用它。 但是首先从站点下载字符串。 在这里,我为您提供了示例:
string urlAddress = "https://www.aliexpress.com/item/-/32794448855.html?scm=1007.14110.78103.0&pvid=98337ce3-4886-4639-99f3-5dcaf226a0af";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string data = "";
if (response.StatusCode == HttpStatusCode.OK)
{
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = null;
if (response.CharacterSet == null)
{
readStream = new StreamReader(receiveStream);
}
else
{
readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
}
data = readStream.ReadToEnd();
response.Close();
readStream.Close();
}
HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument();
document2.LoadHtml(data);
var value = document2.GetElementbyId("j-sku-discount-price").InnerHtml; //value is "3.94"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.