Форум сайта python.su
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
Офлайн
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]
Офлайн
19
Ну вот Grab импортировался уже что то
Вы его используете не правильно.
lДальше Читайте Доки
Офлайн
20
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)
Офлайн
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
Офлайн
19
Вы просто опечатался, смотрите внимательнее.
Отредактировано PanovSergey (Фев. 23, 2014 10:27:04)
Офлайн
1
Двоеточие непоставил
Офлайн