2011-08-23 6 views
0

C#을 사용하여 웹 사이트를 자동 검색 한 다음 검색 결과를 반환 할 수 있습니까?C#을 사용하여 여러 웹 사이트를 검색

최상위 도메인을 부여하면 동일한 작업을 수행 할 수있는 웹 크롤러가 있습니까 (예 : stackoverflow.com에서 "funny"라는 단어를 찾아 내고 "재미있는" 등장)?

이러한 웹 사이트는 검색 창을 통해 검색 할 수 있습니다.

검색을 자동화하려면 웹 사이트 협력이 필요합니까?

참고 : 하루에 한 두 가지 정도의 검색만을 수행 할 예정이므로 차단되거나 의심 스럽습니다.

답변

2

전체 웹 사이트를 크롤링하여 캐시하지 않으면 차단 될 수 있으므로 웹 사이트의 모든 페이지를 필수적으로 요청하게됩니다. 아마도 Google 도메인 검색을 대신 통합하는 것을 고려해보십시오. 여기

은 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/

1

...web sites allow searching via their search bar ... Can I use C# to auto search websites, then return the search results?

예, 웹 사이트가 검색어에 검색어 문자열 인수로 제공되는 URL을 제공하는 경우 예.

  http://yourTargetDomain?searchterm=foo 

그러나 웹 사이트가 특별히 구조화 된 데이터로 해당 URL에서 검색 결과를 설계하지 않는 한, 웹 사이트가되지 않습니다

"이야기 [당신] 모든 시대 '재미'출연"하지만 다시 검색을 보내드립니다 응답은 브라우저가 표시하기에 적합하므로이 HTML 스트림에서 결과를 구문 분석해야합니다. 예를 들어

:

http://philadelphia.craigslist.org/search/tls?query=ladder&srchType=A&minAsk=&maxAsk=

+0

내가 도움이 필요하지 않을 것이라고 간단합니다. 사이트에서 검색 ID를 지정합니다. ex. "/SearchResults.aspx?searchID=00865caa-ed5c-46a1-b850-0450f102dda5&page=0&set=0&pageSize=100" 그러나 내가 가고 싶은 페이지는 단지 표준 웹 페이지입니다. 예 : "[변화가없는 많은] RecID = 5358254" – wizlog

+0

@wizlog : 나는 당신이 나를 오해했다고 생각합니다.나는 그것이 간단하다는 것은 제시하지 않았다. 오히려 나는 그것이 실제로 당신이 기대했던 것처럼 간단하지 않다는 것을 보여주었습니다. 쿼리 문자열에 검색 용어가 추가 된 URL의 결과는 단순한 어커런스 목록이 아닌 HTML 마크 업 스트림입니다. – Tim

1

은 내가 RSS 애그리 게이터 (aggregator)를 구축으로 보일 것이다. RSS는 표준화되어 있으므로 다양한 출처에서 검색 결과를 수집하는 가장 신뢰할 수있는 방법 일 것입니다.

편집 : RSS를 지원하지 않는 사이트의 RSS

를 지원하지 않는 사이트의 경우, 당신은 화면 스크레이퍼를 사용하여 조사 할 수 있습니다. 강령 프로젝트에이 기사를 확인하면 시작하려면 :

http://www.codeproject.com/KB/aspnet/weather.aspx

+0

사이트에서 RSS 피드를 제공하지 않으면 어떻게됩니까? – wizlog

+0

RSS를 지원하지 않는 사이트에는 화면 스크래퍼를 사용할 수 있습니다. –

+0

예, 그렇지만 수동으로 각 웹 페이지로 이동하여 검색어를 입력해야합니다. 나는 50 개의 개별 사이트를 검색 할 것이므로, 더 빨리 갈 수있는 방법을 찾고 있습니다. – wizlog

관련 문제