Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 22, 2014 20:00:22

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Немогу понять за ошибки, и как их исправить?

/usr/bin/python3.3m /home/yura/Документы/python/progi/телефонистки.py
Traceback (most recent call last):
  File "/home/yura/Документы/python/progi/телефонистки.py", line 4, in <module>
    g.go('yandex.ru')
  File "/usr/local/lib/python3.3/dist-packages/grab-0.4.13-py3.3.egg/grab/base.py", line 356, in go
    return self.request(url=url, **kwargs)
  File "/usr/local/lib/python3.3/dist-packages/grab-0.4.13-py3.3.egg/grab/base.py", line 461, in request
    self.process_request_result()
  File "/usr/local/lib/python3.3/dist-packages/grab-0.4.13-py3.3.egg/grab/base.py", line 517, in process_request_result
    out.write(self.response.body)
TypeError: 'str' does not support the buffer interface
Process finished with exit code 1

Офлайн

#2 Фев. 22, 2014 20:04:39

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Немогу понять за ошибки, и как их исправить?

А так работает почти не считая ошибки

# coding: utf-8
import pycurl
from grab.spider import Spider, Task
class SimpleSpider(Spider):
    initial_urls = ['http://ya.ru']
    def task_initial(self, grab, task):
        grab.set_input('text', u'python')
        grab.submit(make_request=False)
        yield Task('search', grab=grab)
    def task_search(self, grab, task):
        for elem in grab.xpath_list('//h2/a'):
            print (elem.text_content())
if __name__ == '__main__':
    bot = SimpleSpider()
    bot.run()
    print (bot.render_stats())

[code python]/usr/bin/python3.3m "/home/yura/Документы/python/progi/грабинг yaru.py"
ERROR:root:Call to deprecated function xpath_list. Use grab.doc.select() instead.
"Python programming language" - официальный сайт
Python  Википедия
Популярные » Блоги » PySU
Python  Викиучебник
НОУ ИНТУИТ | Учебный курс | Язык программирования Python
Python / Всё / Захабренные / Хабрахабр
Python  Lurkmore
Python  Xgu.ru
Python  Абсурдопедия
Python 3 для начинающих
Python хостинг от «Джино»
Counters:
  upload-size-with-cache: 0.0
  upload-size: 0.0
  task-search-ok: 1
  task-search-network: 1
  task-search-initial: 1
  task-search: 1
  task-initial-ok: 1
  task-initial-network: 1
  task-initial-initial: 1
  task-initial: 1
  task: 2
  request-processed: 2
  request-network: 2
  request: 2
  download-size-with-cache: 53840.0
  download-size: 53840.0
Lists:
  
Network download: 52.58 KB
Queue size: 0
Threads: 3
Timers:
  DOM: 0.012
  selector: 0.000
  task_generator: 0.001
  response_handler.task_search: 0.016
  task_queue: 0.034
  network-name-lookup: 0.039
  network-connect: 0.087
  response_handler.task_initial: 0.138
  response_handler: 0.154
  network_transport: 0.554
  network-total: 0.626
  total: 0.819
Process finished with exit code 0
[/code]

Офлайн

#3 Фев. 22, 2014 20:09:04

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Немогу понять за ошибки, и как их исправить?

Ну вот Grab импортировался уже что то Вы его используете не правильно.
lДальше Читайте Доки

Офлайн

#4 Фев. 23, 2014 08:42:16

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Немогу понять за ошибки, и как их исправить?

grab.xpath_list
вот это можно заменить на
grab.doc.select("//h2/a")
а
print (elem.text_content())
на
print elem.text()
тогда не будет выдавать:
ERROR:root:Call to deprecated function xpath_list. Use grab.doc.select() instead.

Отредактировано noob_saibot (Фев. 23, 2014 08:43:33)

Офлайн

#5 Фев. 23, 2014 10:15:41

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Немогу понять за ошибки, и как их исправить?

В третьем питоне это не заработало. Жалуется на синтаксис.

noob_saibot



# coding: utf-8
import pycurl
from grab.spider import Spider, Task
class SimpleSpider(Spider):
    initial_urls = ['http://ya.ru']
    def task_initial(self, grab, task):
        grab.set_input('text', u'python')
        grab.submit(make_request=False)
        yield Task('search', grab=grab)
    def task_search(self, grab, task):
        for elem in grab.doc.select("//h2/a")
            print(elem.text())
if __name__ == '__main__':
    bot = SimpleSpider()
    bot.run()
    print (bot.render_stats())

/usr/bin/python3.3m /home/yura/Документы/python/progi/телефонистки.py
  File "/home/yura/Документы/python/progi/телефонистки.py", line 11
    for elem in grab.doc.select("//h2/a")
                                        ^
SyntaxError: invalid syntax
Process finished with exit code 1

Офлайн

#6 Фев. 23, 2014 10:25:53

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Немогу понять за ошибки, и как их исправить?

Вы просто опечатался, смотрите внимательнее.

Отредактировано PanovSergey (Фев. 23, 2014 10:27:04)

Офлайн

#7 Фев. 24, 2014 16:02:34

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Немогу понять за ошибки, и как их исправить?

Двоеточие непоставил

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version