Я использую Apache HttpComponents с 150 потоками, чтобы загрузить исходный код HTML для примерно 5000 различных URL-адресов.Apache HttpComponents request.get.excute не возвращает правильный исходный код HTML
URL-адреса содержатся в LinkedBlockingQueue
и SourceGetterThreads
берут из очереди, когда это возможно. Затем поток попытается загрузить исходный код с помощью EntityUtils.toString(HttpClient.execute().getEntity)
. Строковое представление исходного кода HTML затем помещается в другое LinkedBlockingQueue
, где у меня есть еще 10 потоков, готовых отобразить полезную работу над исходным кодом, который они берут из второй очереди.
Моя проблема заключается в том, что я заметил ошибки в работе, которые были сформированы в исходном коде. Я использую Matcher
для соответствия определенным шаблонам и записи найденных паттернов. Однако иногда исходный код является неправильным и не соответствует URL (то есть исходный код, сохраненный в моей java-памяти, не совпадает с исходным кодом при просмотре в Chrome или FireFox). Это, по-видимому, случайное, и поэтому иногда исходный код правильный, а иногда и нет.
Кто-нибудь знает, почему это так?
Вы не указали нигде рядом с количеством деталей, которое нам нужно будет ответить. –
Я попытался сохранить его абстрактным и воздержаться от слишком многого, чтобы tl; dr. Я ценю отрицательное, но вместо того, чтобы запрашивать дополнительную информацию. – james
Это можно изменить. –