Имя хоста написано кириллицей и Python 3.4 или старее?
Windows: socket.gethostbyaddr(name) fails for non-ASCII hostname
bugs.python.org/issue26227
- Обновить Python
- Переименовать хост
- Либо запускать Django передав ему ip адрес вместо имени хоста
python manage.py runserver 127.0.0.1:8000
UPD:
я попробовал воспроизвести подобную ошибку в среде Win 10 (в VirtualBox) и у меня получилось только в случае
если в файле hosts присутствует алиас с кириллицей и локаль Windows русская.spoiler
Если удалить русский, оставив только английский (на русском только интерфейс системы), то всё ок.
Так-же не удалось воспроизвести ошибку если при запуске указывать ip хоста как 127.0.0.2python manage.py runserver 127.0.0.2:8080
При условии, что в hosts нет алиаса с кириллицей для него.
На чистой системе (установлены только Python 3.7.2 и Pycharm Community, русская локаль) подобной ошибки нет.
Заглянул в исходники socket.py и socketmodule.c
Скорее всего данная особенность связаны с этой частью исходного кода Python на C, а именно PyUnicode_DecodeFSDefault#ifdef MS_WINDOWS /* Issue #26227: gethostbyaddr() returns a string encoded * to the ANSI code page */ return PyUnicode_DecodeFSDefault(name); #else /* Decode from UTF-8 */ return PyUnicode_FromString(name); #endif
Далее, если имя хоста не написано кириллицей и в hosts нет кириллицы следует вывод, что с высокой долей вероятности дело в стороннем софте(антивирус, кривой кряк и т.д.).
https://ecom.elko.ru/Account/Login
должно быть https://ecom.elko.ru/Account/Login?ReturnUrl=%2fCatalog%2fCategory%2fSCO
import scrapy
from scrapy.contrib.spiders import CrawlSpider
from scrapy.item import Item, Field
from scrapy.contrib.loader import XPathItemLoader, ItemLoader
from scrapy.http import Request, FormRequest
class ScrapyTestItem(scrapy.Item):
title = Field()
url = Field()
class ScrapyTestSpider(CrawlSpider):
name = "catalog"
def start_requests(self):
return [
FormRequest(
"https://ecom.elko.ru/Account/Login?ReturnUrl=%2fCatalog%2fCategory%2fSCO",
formdata={"Username": "ваш_логин", "Password": "ваш_пароль"}
)]
def parse(self, response):
print(response.url)
# Парсим страницу или отправляем запрос на другие.
2016-12-18 12:32:55 [scrapy] DEBUG: Redirecting (302) to <GET https://ecom.elko.ru/Catalog/Category/SCO> from <POST https://ecom.elko.ru/Account/Login?ReturnUrl=%2fCatalog%2fCategory%2fSCO>
id
пользователей – выполняется быстро.city
и can_write_private_message
, как долго думает и вылетает с ошибкой.id
, а потом запрашивать city
и can_write_private_message
только для новичков.