我可以使用C#自動搜索網站,然後返回搜索結果嗎?使用C#搜索多個網站
是否有一個網絡爬蟲,如果我給它一個頂級域名(例如:我告訴它在stackoverflow.com上找到「funny」這個詞,它會告訴我所有的時間「有趣」出現了)?
這些網站允許通過他們的搜索欄進行搜索。
我需要網站合作來自動搜索嗎?
注意:我只打算每天進行一兩次搜索,所以我懷疑我會被阻止,或被要求對自己進行身份驗證。
我可以使用C#自動搜索網站,然後返回搜索結果嗎?使用C#搜索多個網站
是否有一個網絡爬蟲,如果我給它一個頂級域名(例如:我告訴它在stackoverflow.com上找到「funny」這個詞,它會告訴我所有的時間「有趣」出現了)?
這些網站允許通過他們的搜索欄進行搜索。
我需要網站合作來自動搜索嗎?
注意:我只打算每天進行一兩次搜索,所以我懷疑我會被阻止,或被要求對自己進行身份驗證。
如果您計劃通過整個網站爬行來計算像這樣的文字,如果您不緩存它,您將被阻止,您將基本上請求網站的每一頁。也許考慮整合谷歌域搜索的呢?
這裏是一個網上搜尋頁詳細介紹瞭如何用C#接口的鏈接
http://code.google.com/apis/gdata/client-cs.html
編輯:對不起,這是不完全正確:http://gsalib.codeplex.com/
http://answers.oreilly.com/topic/2165-how-to-search-google-and-bing-in-c/
...web sites allow searching via their search bar ... Can I use C# to auto search websites, then return the search results?
是的,如果網站提供了一個URL作爲URL的查詢字符串參數提供的搜索字詞。
http://yourTargetDomain?searchterm=foo
但除非網站已專門從URL搜索結果是結構化的數據,該網站不會「告訴[你]所有的時候,‘搞笑’出現」,但會送你回去搜索適合瀏覽器顯示的響應,因此您必須從HTML流中解析結果。
例如:
http://philadelphia.craigslist.org/search/tls?query=ladder&srchType=A&minAsk=&maxAsk=
我會考慮建立一個RSS聚合。 RSS是標準化的,所以這可能是從各種來源收集搜索結果最可靠的方式。
編輯:對於不支持RSS
對於不支持RSS的網站的網站,你可以考慮使用一個屏幕刮刀。看看這篇文章的代碼項目,讓你開始:
如果是這麼簡單,我不會需要幫助。 該網站分配一個搜索ID前。 「/SearchResults.aspx?searchID=00865caa-ed5c-46a1-b850-0450f102dda5&page=0&set=0&pageSize=100」 但是,我想要訪問的頁面只是一個標準網頁。例如:「[很多其他不變的東西] RecID = 5358254」 – wizlog
@wizlog:我想你誤會了我。我並不是說這很簡單,而是我告訴你,這確實不像你希望的那麼簡單;搜索字詞追加到查詢字符串的這樣的URL的結果是HTML標記流,而不僅僅是出現的列表。 – Tim