2016-11-07 61 views
1

我想使用C#來刮擦網站。在這個過程的某個時候,網站返回一個我需要執行的JavaScript頁面,以便它會生成一些參數,然後使用生成的參數作爲查詢變量發佈請求。使用C執行JavaScript頁面#

這是JavaScript文件https://jsfiddle.net/7aw5vr59/

瀏覽器生成的結果文件看起來像下面:

<imimxxxyyy id="ActiveX"></imimxxxyyy><form action="/home/" method="post"><input name="TS013a5875_id" value="3" type="hidden"><input name="TS013a5875_cr" value="085d52524cab2800109920a8877032c63ff20a076afde32d3949a9c0cc832e2a409e921dbd0f04b390bc9a36f79f4d080873a7f6848948001fe9d70f9af2fa1f81ba0cb687810509e2df6f37950961d59dba504d18b2e08237af58ac5683f65a8b9a4c978624319575ee9b400ae2307cbb314a0f32ecca4464cdc6b2082f7352" type="hidden"><input name="TS013a5875_76" value="085d52524cab2800109920a8877032c63ff20a076afde32d3949a9c0cc832e2a409e921dbd0f04b390bc9a36f79f4d080873a7f68488b000c2ff7c505061da44dff5459af7ebe2f604b8d36bdeeeca3eead0e146af07190233b9414ca790443d2453827dc161e073eb63ed4d10c070e405848b2ccb2dc1c4412b93dff97f978c6f1caecff07f6d4c23e1ade1bfb2f715409cf4d5f1f91a826e092193a1407539ec35c80a0d82032163abc93f6876c7c1cecded7400c11873a90a0ad58c3d18b0a55b0a0430c50575d7f535fd9b414c06b1c3b11ab326b07356737269137f2610cf26df27c7e0bcd5" type="hidden"><input name="TS013a5875_86" value="085d52524cab2800109920a8877032c63ff20a076afde32d3949a9c0cc832e2a409e921dbd0f04b390bc9a36f79f4d080873a7f68486600098382373b7447eebb69eb2b508714f7fb748b827881d272fff290b8bcf8bef6184c2a8c9f1236e71539573e709a14a158df0bb128ca0ba6e196a5b4a979b28a93e07d7089584e53a1ae51612c25ee3012964be00bc312836a58d7543f2cd825f" type="hidden"><input name="TS013a5875_md" value="1" type="hidden"><input name="TS013a5875_rf" value="0" type="hidden"><input name="TS013a5875_ct" value="0" type="hidden"><input name="TS013a5875_pd" value="0" type="hidden"></form> 

當你在看到底有表單變量開始與TS013a5875。我應該在我的代碼中做同樣的事情。有人能幫助我,我該怎麼做。

我試過下面但沒有運氣。此外,該應用程序非常緊密地耦合以添加更多外部依賴項。

  1. 使用侏羅紀引擎
  2. ScrapySharp
  3. web瀏覽器類
+0

我寧願使用實際的網絡瀏覽器,即Chrome或Firefox來這樣做。爲了報廢,我會使用Selenium Web Driver。 –

+1

如何使用像硒webdriver + phantomjs的東西? – Hackerman

+0

@AdnanUmer你可以在Selenium Web Driver或任何可以更清楚地理解它的參考資料中提供更多詳細信息嗎? –

回答

0

你可能刮網站使用名爲BIG IP一個防刮擦技術的開發F5.com。

您應該使用能夠執行javascript並且具有一些真實功能的瀏覽器,例如渲染畫布。您可以嘗試像PhantomJS這樣的無頭瀏覽器,但它可能無法正常工作。

相關問題