Необходимо вручную прописать в ваш запрос при помощи urllib все заголовки, как в браузере: user-agent, referer, accept, accept-encoding, accept-language:en-US, cache-control, cookie итд. Если не поможет, то возьмите заголовки из другого браузера. Также, как показывает практика, если делать запросы к гуглу не через апи гугла, то советую использовать тор или прокси, а то забанять, потом замучаешься почту восстанавливать.
Клиенты, как правило, не обращают внимание на картинки в портфолио, их больше интересуют живые отзывы других клиентов. К тому же, возьмем например апворк, если аккаунт прокачан (соответствует определенным критериям биржи), то твои биды будут всегда вверху списка других фрилансеров, откликнувшихся на заявку, а также будет выдаваться на первом месте в поиске.
Я если често очень плохо понимаю, что вы пытаетесь изобразить, но из того что я понял (надеюсь на то что я хоть что-то понял), у вас есть большой массив данных, который вы хотите обработать. Если это числовые данные, то советую использовать numpy, если это таблица забитая всем подряд, то pandas, функционал этих 2х библиотек покрывает практически все нужды в обработке данных, а из-за того что они написаны на C, то работают с приемлемой скоростью.
Если же у вас, например, лист с сыллками, которые необходимо спарсить в несколько потоков, то лучше использовать from multiprocessing.dummy import Pool, если что-то более сложное, то простым комментарием уже не обойтись и материала тянет на не одну статью, так что читайте доки, в частности, вас должны интересовать subprocess, threading и Queue