웹 페이지 소스를 메모 구성 요소로 가장 빨리 다운로드하는 방법은 무엇입니까? Indy 및 HttpCli 구성 요소를 사용합니다.빨리 다운로드하는 방법?
문제는 내가 100 개가 넘는 사이트로 채워진 목록 상자가 있는데, 내 프로그램은 소스를 메모로 다운로드하고 mp3 파일의 소스를 구문 분석합니다. 그것은 Google 음악 검색 프로그램과 같은 것입니다. Google 검색을 사용하여 Google 검색을 쉽게합니다.
내 질문에 이르는 스레드에 대한 읽기 시작 : IdHttp 인스턴스를 구문 분석 함수가있는 스레드에서 만들고 목록 상자에서 사이트의 절반을 구문 분석하도록 말할 수 있습니까?
그래서 기본적으로 사용자가 클릭 구문 분석 할 때, 메인 스레드가 수행해야합니다
for i := 0 to listbox1.items.count div 2 do
get and parse
, 다른 스레드가 수행해야합니다
for i := form1.listbox1.items.count div 2 to form1.listbox1.items.count - 1 do
get and parse.
을, 그래서 그들은에서 form1.listbox2
에 구문 분석 된 내용을 추가 할 것 동시. 또는 주 스레드에서 두 개의 IdHttp 인스턴스를 시작하는 것이 더 쉬울 수도 있습니다. 하나는 사이트의 첫 번째 절반을위한 것이고 다른 하나는 두 번째를위한 것입니까?
이를 위해 : Indy 또는 Synapse를 사용해야합니까?
난 당신이 동기화가하는 일에 대한 문서를 읽어 제안, 그리고 그것을 시작 후 때마다 하나 개의 URL을 처리 할 때 각 스레드가 단 하나의 URL을 요청 할 것입니다. 웹 사이트에서 XHTML을 사용하는 경우 MSXML2_TLB의 DOMDocument.load 메서드를 검사하여로드 및 구문 분석이 제대로 수행되는지 확인합니다. –