Вы должны использовать preceding-sibling::p
, а не preceeding
.
lis.xpath('preceding-sibling::p[1]/text()').extract()
Полное решение:
for lis in response.xpath('//div[@id="tabname-2228-2"]/ul'):
season = lis.xpath('preceding::p[1]/text()')[0]
print(season)
1) Необходимо добавить ссылку на Систему. Речь в Вашем проекте
2) Вы не должны были находить 'System.Speech.dll' в Интернете, это должно быть в.Net 3 (или 3.5, но добраться 3.5 так или иначе, если у Вас нет неопровержимого довода не к),
Править:
Вы могли бы хотеть посмотреть здесь:
http://dotnet.org.za/beta/archive/2008/01/06/system-speech-recognition.aspx
Я соглашаюсь с James Ogden. Кроме того, необходимо добавить оператор "использования":
using System.Speech.Recognition
Или, полностью определите свои имена классов.
Проверьте, что у Вас есть механизм языка, соответствующий языку, который Вы настроили в Vista. См. http://support.microsoft.com/kb/934377
В то время как не непосредственно применимый к вышеупомянутому вопросу - стоит отметить, что Речь SDK nessecarily не будет availible на каждом клиентские машины. В то время как Vista включает устройство распознавания речи, XP не делает. Возможный способ исправить это состоит в том, чтобы заставить пользователей XP устанавливать Речь SDK, который включает тот. Другой должен добавить Office 2003 (не 2007) как зависимость.