当编辑为HTML时,获取错误的href链接



我使用HTMLUnit从Google购物结果中提取锚点类元素下的href属性。为了获得购物结果的所有URL的列表,我使用:

List<HtmlElement> urls = page.getByXPath("//a[contains(@class,'Lq5OHe eaGTj translate-content')]");

但其中一些链接被证明是错误的,或者更准确地说是扭曲的。例如:这是我应该根据我使用Inspect 看到的内容检索的链接

https://www.universitysupplystore.com/shop_product_detail.asp?catalog_group_id=MjE&catalog_group_name=VGlkZSBUZWNo&catalog_id=599&catalog_name=TWFjQm9vaw&pf_id=202680&product_name=MTMtSW5jaCBNYWNib29rEFpciBBcHBsZSBNMiBDaGlwIFdpdGggOC1Db3JlIENwdSBBbmQgOC1Db3jlIEdwdS84R2IgVW5pZmllZCBNZW1vcnk&type=1&target=shop_product_list.asp

但这就是刮刀得到的(不工作链接(

https://www.universitysupplystore.com/shop_product_detail.asp%3Fcatalog_group_id%3DMjE%26catalog_group_name%3DVGlkZSBUZWNo%26catalog_id%3D599%26catalog_name%3DTWFjQm9vaw%26pf_id%3D202680%26product_name%3DMTMtSW5jaCBNYWNib29rIEFpciBBcHBsZSBNMiBDaGlwIFdpdGggOC1Db3JlIENwdSBBbmQgOC1Db3JlIEdwdS84R2IgVW5pZmllZCBNZW1vcnk%26type%3D1%26target%3Dshop_product_list.asp&rct=j&q=&esrc=s&sa=U&ved=0ahUKEwjtzMqfoLD5AhVIBUQIHXbUBmoQ2SkIw4&usg=AOvVaw2Bom-oAHHYL7PLWixFHes

这是我点击"时的href链接;编辑为HTML";在"检查"之后的"图元"选项卡上(不工作链接(https://www.universitysupplystore.com/shop_product_detail.asp%3Fcatalog_group_id%3DMjE%26catalog_group_name%3DVGlkZSBUZWNo%26catalog_id%3D599%26catalog_name%3DTWFjQm9vaw%26pf_id%3D202680%26product_name%3DMTMtSW5jaCBNYWNib29rIEFpciBBcHBsZSBNMiBDaGlwIFdpdGggOC1Db3JlIENwdSBBbmQgOC1Db3JlIEdwdS84R2IgVW5pZmllZCBNZW1vcnk%26type%3D1%26target%3Dshop_product_list.asp&rct=j&q=&esrc=s&sa=U&ved=0ahUKEwiDjOz0oLD5AhU2KkQIHdZJDjAQ2SkIjxY&usg=AOvVaw0l1Boo5XTmiOrL3GU8XMuq

我的观察是,它在原始链接中添加了不同的字符,如%。我的目标是提取这个原始链接。我该怎么做?

您在这里面临的或多或少是URL编码(https://en.wikipedia.org/wiki/Percent-encoding)。

请澄清你所说的"无效链接"是什么意思。您尝试如何处理URL?

最新更新