Почему я получаю urllib2. HTTPError с urllib2 и никакие ошибки с urllib?

Не относящийся к проблеме onclick, но также и связанный:

Для атрибутов HTML, имя которых сталкивается с зарезервированными словами JavaScript, альтернативное название выбрано, например, <div class=''>, но div.className, или <label for='...'>, но label.htmlFor.

В разумных браузерах, это не влияет setAttribute. Таким образом у геккона и WebKit Вы звонили бы div.setAttribute('class', 'foo'), но в IE необходимо использовать имя свойства JavaScript вместо этого, таким образом div.setAttribute('className', 'foo').

6
задан Verrtex 26 September 2009 в 19:46
поделиться

2 ответа

Исходный urllib просто не вызывает исключение для кода 403. Если вы добавите print c.getcode () в последнюю строку вашей программы, urllib достигнет ее и все равно распечатает 403.

Затем, если вы сделаете print c.read () в конце, вы увидите, что действительно получили страницу с ошибкой из Википедии. Все дело в том, что urllib2 решает рассматривать ошибку 403 как исключение во время выполнения, в отличие от urllib , позволяющего получить ошибку 403 и затем что-то сделать со страницей.

10
ответ дан 8 December 2019 в 17:24
поделиться

Википедия, похоже, отфильтровывает пользовательский агент urllib2 по умолчанию. Просто измени его.

4
ответ дан 8 December 2019 в 17:24
поделиться
Другие вопросы по тегам:

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