网页抓取没有返回预期的 html?

问题描述 投票:0回答:3

开发购物应用程序已经有一段时间了(正在运行),现在正在寻求扩展功能,但是我对网站元素/文件层次结构等的理解至少可以说是乏善可陈!

我正在阅读此网址:https://minetilbud.dk/tilbudsaviser/aldi/1?id={E2193C06-1136-4ED7-9B66-693C3EB175FF}

我正在寻找的是包含“30,-每公斤”的文本部分。然而,当我以编程方式阅读 html 时,我得到了大量不包含这个特定想要的文本的文本。

很抱歉我的问题解释得不好,但我不太确定我在这里要找什么,我要找的文本可以隐藏吗? 在另一个文件中? 另一个网址?

任何可以帮助我走向正确方向的提示将不胜感激!

c# html web web-scraping
3个回答
0
投票

看起来每个可点击的产品都有一个产品 ID,可用于发出 api 请求以获取结构化 JSON 中的信息。该页面通过一个以如下开头的 url 将第二个脚本标记加载到 html 的这些 id 中:

https://cdn.ipaper.io/iPaper/Papers/0996f096-0e32-4fd4-b62b-f40e59e490ea/Enrichments/v1/

如果你抓取这个 url,然后执行 get 操作,你应该得到包含产品 ID 的 json。然后您需要存储这些产品 ID,然后以这种格式使用这些产品 ID 执行更多获取请求。

https://minetilbud.dk/api/rest/product/%7BD1E5927C-6EDD-4F3C-A925-1141077F3D96%7D

所以 https://minetilbud.dk/api/rest/product/%7{产品 ID}%7D

你可以在 chrome 开发工具或 fiddler 中看到这一切。


0
投票

正如其他人所说,您找不到详细信息的原因是因为它在页面加载后使用ajax获取数据。获取的 URL 是...

https://minetilbud.dk/api/rest/product/%7BE2193C06-1136-4ED7-9B66-693C3EB175FF%7D

返回...

{  
   "advert":{  
      "id":"{E2193C06-1136-4ED7-9B66-693C3EB175FF}",
      "title":"Peanuts",
      "description":"",
      "imageUrl":"https://img2minetilbud.azureedge.net/cloud/prod/MediaStorage/0/8/08B2BEFC5D7D42DEB3AA47CED86DFFD7/28_28_2_.jpg?crop=699,31,1109,814",
      "price":"6,-",
      "pricePercentage":"",
      "pricePerUnit":"",
      "priceVolume":"30,- per kg",
      "categoryMainTitle":"Snacknødder",
      "tradeLabels":[  

      ],
      "validFromFormatted":"5/10",
      "validToFormatted":"11/10",
      "validtext":"Gyldig t.o.m tor 11/10",
      "videoId":null,
      "videoType":null,
      "videoCoverImage":null,
      "fullAdvertUrl":"/tilbudsaviser/aldi/1/side/28",
      "duplicates":[  
         {  
            "id":"e2193c06-1136-4ed7-9b66-693c3eb175ff",
            "title":"Peanuts",
            "price":"6,-"
         }
      ],
      "relatedAdvertsUrl":"/Tilbudssoegning?qw=Snacknødder",
      "headCategoryTitle":"Dagligvarer",
      "categoryTitle":"Snacknødder",
      "brand":"Joe's",
      "categoryVariantTitles":"Peanuts",
      "keywords":"",
      "isMinimumPrice":false,
      "advertType":"Advert",
      "externalLinks":[  

      ]
   },
   "customer":{  
      "name":"ALDI",
      "headerImageUrl":"https://minetilbud2.azureedge.net/-/media/Images/Blurs/aldi.jpg",
      "headerTextColor":"#FFFFFF",
      "primaryColor":"#1f3480",
      "secondaryColor":"#111f60",
      "circleLogo":"https://minetilbud2.azureedge.net/-/media/Images/Runde-logoer/aldi.png",
      "catalogs":"/tilbudsaviser/aldi",
      "openingHours":"/tilbudsaviser/aldi/aabningstider",
      "linkText":"Køb varen online"
   },
   "dictionary":{  
      "adverts":"s tilbudsaviser",
      "advertsLinkV2":"Tilbudsaviser",
      "chooseAdvert":"Vælg",
      "openingHours":"Åbningstider",
      "shareOffer":"Del tilbud",
      "relatedOffers":"Lignende tilbud",
      "goToShop":"Gå til webshop",
      "readAdvert":"Læs tilbudsavisen",
      "videoText":"Se [[BRAND]]s video",
      "shareOnFacebook":"Del på Facebook",
      "tellAFriend":"Tip en ven",
      "savePercentage":"Spar",
      "from":"Fra"
   }
}

0
投票

我正在寻找几乎相同的内容,您最终找到了想要分享的解决方案吗?

© www.soinside.com 2019 - 2024. All rights reserved.