iPhone SDK в Windows (альтернативные решения)

Scrapy возвращает строки в юникоде, а не в ascii. Чтобы закодировать все строки в utf-8, вы можете написать:

vriskoit['eponimia'] = [s.encode('utf-8') for s in hxs.select('//a[@itemprop="name"]/text()').extract()]

Но я думаю, что вы ожидаете другого результата. Ваш код возвращает один элемент со всеми результатами поиска. Чтобы вернуть элементы для каждого результата:

hxs = HtmlXPathSelector(response)
for eponimia, address in zip(hxs.select("//a[@itemprop='name']/text()").extract(),
                             hxs.select("//div[@class='results_address_class']/text()").extract()):
    vriskoit = VriskoItem()
    vriskoit['eponimia'] = eponimia.encode('utf-8')
    vriskoit['address'] = address.encode('utf-8')
    yield vriskoit

Обновить

Экспортер JSON по умолчанию записывает экранированные символы Unicode (например, \u03a4), поскольку не все Потоки могут обрабатывать Unicode. Он имеет возможность записать их как Unicode ensure_ascii=False (см. Документы для json.dumps ). Но я не могу найти способ передать эту опцию стандартному экспортеру кормов.

Итак, если вы хотите, чтобы экспортированные элементы были записаны в кодировке utf-8, например, для чтения их в текстовом редакторе вы можете написать собственный конвейер элементов.

pipelines.py:

import json
import codecs

class JsonWithEncodingPipeline(object):

    def __init__(self):
        self.file = codecs.open('scraped_data_utf8.json', 'w', encoding='utf-8')

    def process_item(self, item, spider):
        line = json.dumps(dict(item), ensure_ascii=False) + "\n"
        self.file.write(line)
        return item

    def spider_closed(self, spider):
        self.file.close()

Не забудьте добавить этот конвейер в settings.py:

 ITEM_PIPELINES = ['vrisko.pipelines.JsonWithEncodingPipeline']

Вы можете настроить конвейер для записи данных в более удобочитаемом формате. например, Вы можете создать некоторый форматированный отчет. JsonWithEncodingPipeline это просто базовый пример.

31
задан Peter Mortensen 27 May 2011 в 08:52
поделиться

8 ответов

Вы можете легко создать приложение, используя PhoneGap или Appcelerators Titanium Mobile .

Оба они по сути действуют как оболочка WebKit, поэтому вы можете создать ваше приложение с помощью HTML / CSS / JavaScript. Это тоже довольно портативное решение, но вы несколько ограничены в том, что можете сделать, то есть без интенсивного рендеринга или чего-то еще. На самом деле все зависит от того, чем вы хотите заниматься.

16
ответ дан 27 November 2019 в 22:23
поделиться

Я изучил это перед покупкой Mac Mini . Ответ, по сути, нет. Вам в значительной степени нужно купить Leopard Mac, чтобы заниматься разработкой iPhone SDK для приложений, работающих на iPhone без джейлбрейка.

Не то чтобы это на 100% невозможно, но на 99,99% неразумно. Это похоже на замену лампочки ногами.

Вы не только должны быть в Xcode , но и должны получить сертификаты в диспетчере связки ключей, чтобы иметь возможность общаться между Xcode и iPhone. И вам нужно правильно установить все виды настроек в Xcode.

26
ответ дан 27 November 2019 в 22:23
поделиться

Вы могли бы сделать то же, что делает saurik из Cydia, и написать свой код на ПК, а затем собрать его на самом iPhone (технически это Mac!) После вас побег из тюрьмы. Однако вы не получаете Interface Builder, поэтому вы в основном создаете пользовательский интерфейс в коде вручную. Также было бы довольно сложно отправить свое приложение без Mac.

2
ответ дан 27 November 2019 в 22:23
поделиться

Нет, у вас должен быть какой-то Intel Mac. Я пошел в Best Buy и получил 24-дюймовый iMac с оперативной памятью 4G за 1499 долларов, используя их 18-месячную беспроцентную акцию. Я плачу минимальный платеж в размере примерно 16 долларов в месяц. Если я оплачиваю все в течение 18 месяцев - нет Интерес. Это был единственный способ, которым я начал заниматься разработкой iPhone.

2
ответ дан 27 November 2019 в 22:23
поделиться

Технически вы можете писать код на языке .NET и использовать Mono Framework ( http://www.mono-project.com/ ) для его запуска на iPhone. Я никогда не видел, чтобы кто-то делал это с нуля, но люди, которые пишут платформу Unity Game Development ( http://unity3d.com/ ), используют ее, чтобы сделать свои игры совместимыми с iPhone. Сама игра написана на .NET, а затем они предоставляют оболочку iPhone с фреймворками Mono, которые позволяют всему запускать на iPhone. Я не знаю, внесли ли они все свои модификации в Mono обратно в репозиторий с открытым исходным кодом, но если вы серьезно относитесь к написанию приложений для iPhone вне среды Mac, это может быть возможно.

Тем не менее, Я думаю, вы могли бы потратить недели на то, чтобы заставить это работать,

1
ответ дан 27 November 2019 в 22:23
поделиться

Это действительно сводится к тому, насколько вы цените свое время. Как уже упоминалось на других плакатах, есть несколько способов создания приложений для iPhone без Mac. Однако вы преодолеете серьезные препятствия, и это будет намного сложнее и займет больше времени, чем при правильной цепочке разработки.

Вы можете купить подержанный Mac Mini за пару сотни баксов на eBay. Если вы серьезно относитесь к разработке iPhone, вы быстро вернетесь к этому с сэкономленным временем.

1
ответ дан 27 November 2019 в 22:23
поделиться

Есть два способа:

  1. Если вы терпеливы (требуется компьютер с Ubuntu corral и Android SDK, а также тяжелая работа с терминалом, чтобы все это настроить). См. Использование 3.0 SDK без платы за привилегию .

  2. Если вы аморальны (требуется Mac OS X Leopard и виртуализация, которые можно получить только за большие деньги или пиратство) - удалите место в следующей ссылке. htt p: // iphonewo rld. codinghut.com / 2009/07 / using-the-3-0-sdk-Without-Pay-for-the-Priviledge /

Я сам использую метод Ubuntu.

0
ответ дан 27 November 2019 в 22:23
поделиться

Есть другое решение, если вы хотите разрабатывать на C / C ++. http://www.DragonFireSDK.com позволит вам создавать приложения для iPhone в Visual Studio в Windows. Это обязательно стоит посмотреть.

2
ответ дан 27 November 2019 в 22:23
поделиться
Другие вопросы по тегам:

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