Как я могу ускорить получение страниц с помощью urllib2 в python?

У меня есть скрипт, который выбирает несколько веб-страниц и анализирует информацию.

(Пример можно увидеть на http://bluedevilbooks.com/search/?DEPT=MATH& CLASS = 103 & SEC = 01 )

Я запустил на нем cProfile, и, как я предположил, urlopen отнимает много времени. Есть ли способ получить страницы быстрее? Или способ получить несколько страниц одновременно? Я сделаю все самое простое, так как я новичок в разработке на Python и в Интернете.

Заранее спасибо! :)

ОБНОВЛЕНИЕ: у меня есть функция fetchURLs () , которую я использую для создания массива нужных мне URL-адресов. но это только дает мне 6. Есть ли в любом случае, что я могу заставить это показать 6.00?

Мне нужно сделать подобное округление и преобразовать его в символ:

as.character(round(5.9999,2))

Я ожидаю, что оно станет 6.00 , но это только дает мне 6

Есть ли в любом случае, что я могу заставить его показать 6,00 ?

8
задан zx8754 3 October 2016 в 13:27
поделиться

2 ответа

Попробуйте любой из этих:

> sprintf("%3.2f", round(5.9999, digits=2))
[1] "6.00
> sprintf("%3.2f", 5.999)  # no round needed either
[1] "6.00

Есть также formatC() и prettyNum().

10
ответ дан 5 December 2019 в 15:16
поделиться

Чтобы объяснить, что происходит, при вызове (5.9999, 2) ваш номер округляется до ближайшей сотой. , что дает вам число (не строка), очень близкое (или точно равное, если вам повезет с представлениями с плавающей запятой) 6.00. Затем as.character () смотрит на это число, берет до 15 значащих цифр (см. ? As.character ), чтобы представить его с достаточной точностью, и определяет, что нужна только 1 значащая цифра. Так вот что у вас получится.

2
ответ дан 5 December 2019 в 15:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: