Разобрать веб-страницу с идентификатором фрагмента в URL-адресе с помощью HTML Agility Pack

Я хочу проанализировать веб-страницу с идентификатором фрагмента (#), например. http://steamcommunity.com/market/search?q=appid%3A570+uncommon#p4 Когда я использую свой браузер (Google Chrome), у меня разные результаты для разных идентификаторов (#p1,#p2,#p3), но когда я использую HTML Agility Pack, я всегда получаю первую страницу , несмотря на идентификатор страницы.

string sURL = "http://steamcommunity.com/market/search?q=appid%3A570+uncommon#p"
wClient = new WebClient(); 
html = new HtmlAgilityPack.HtmlDocument();
html.LoadHtml(wClient.DownloadString(sURL+i));

Я понимаю, что здесь используется что-то вроде Ajax и на самом деле существует только одна страница. Как я могу исправить свою проблему и получить результаты с других страниц с помощью C#?


person Sam    schedule 04.02.2014    source источник
comment
Если это действительно делается с помощью Ajax, вам нужно будет проанализировать первую страницу и найти любой javascript, который может выполнить перенаправление, очистить этот URL-адрес, а затем выполнить второй веб-запрос...   -  person Dmitriy Khaykin    schedule 04.02.2014


Ответы (1)


Как сказал Давид,

используйте URL: http://steamcommunity.com/market/search/render/?query=appid%3A570%20uncommon&search_descriptions=0&start=30&count=10

где start — это начальный номер, а count — это количество элементов, которые вы хотите.

результат является результатом json, поэтому для утверждения очевидного вы хотите использовать только results_html

Примечание: в браузере Chrome (при нажатии F12) нажмите на вкладку сети, и вы увидите запрос и результат

person lordkain    schedule 04.02.2014