2017-04-26 34 views
0

我建立了一个项目,搜索在联想网站特定的驱动程序(https://support.lenovo.com)。如果找到合适的产品类别,则该网站会在输入时更改搜索网址。HOWTO搜索不断变化的搜寻网址

此,如果你搜索“的ideapad”的意思,例如它的用途: http://pcsupport.lenovo.com/api_v2/de/de/Product/GetProducts?productId=ideapad

,如果你搜索“T540p 20BE”的网址改为: http://pcsupport.lenovo.com/de/de/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t540p/20be?linkTrack=Homepage%3ABody_Search+Products&searchType=4&keyWordSearch=T540p%2520Laptop%2520%2528ThinkPad%2529%2520-%2520Type%252020BE

首先,我试图用网址在http://pcsupport.lenovo.com/api_v2/de/de/Product/GetProducts?productId=[Searchpattern]以上。你会找回一个Json文件,其中包含了该设备的所有型号的更多信息。不是我需要的回应。

我需要的是一种方式来获得回来某个给定的参数及所有可用的驱动程序。 作为回应你得到一个HTML文档,其中包含一个嵌入式的HTML页面中的所有驱动程序搜索:

Lenovo Driver Page ]

我已经尝试了不同的approches硒其工作,但需要一个usabel方式我的应用程序。我尝试过使用HTMLAgilityPack和xpath,但没有通过更改搜索URL来解决问题?

我怎样才能获得的版本和Downloadlink?

更新:下面是一些示例代码。在无法获得get Statemente的正确语法之后,我试图在输入框中输入搜索文本。

  1. 目标:能够SEARCHTEXT粘贴到输入框联想网站中,或克服改变的URL(如上所述)。

  2. 从产生driverpage

编辑提取所需的信息:只要删除不需要的部分代码。有人可以给我一个关于这个工作方法的暗示。如果HtmlWeb不是最好的解决方案,你更喜欢什么?

回答

0

您需要查询相应的元素并获取所需的值。例如,您需要查询版本DOM元素(带有标签,css类或任何其他属性)的版本,并获取InnerText属性。对于下载链接,您需要查询下载元素并获取href属性。

如果您在开发过程中遇到任何问题,将代码添加到这个问题,让我们了解你在做什么,并为您所查询的内容。

编辑:关于URL搜索的一部分。首先,您需要了解您的HtmlDocument不是浏览器,您无法通过填写网站中的文本框来搜索产品。您需要找到其他方式来找到插入产品的相应网址。一种选择可以是从所有可用的搜索URL获取数据,合并这些数据,并在该组合搜索内搜索。

+0

嗨鲁本,我更新了我的问题。在确定如何按照您提到的方式获取链接之前,我必须克服搜索问题。 – biohell

+0

查看最新的答案。 @biohell –