Форум сайта python.su
Python 2.7.2,setuptools 0.6c11, ос - винда хп
Установил библиотеку grab при попытке выполнить код
from grab import Grab
grab = Grab()
grab.setup(url='http://python.org/')
print grab.request()['body']
Traceback (most recent call last):
File "C:/Python/1", line 2, in <module>
grab = Grab()
File "build\bdist.win32\egg\grab\grab.py", line 128, in __init__
mod = __import__(mod_path, globals(), locals(), ['foo'])
File "build\bdist.win32\egg\grab\ext\pycurl.py", line 6, in <module>
ImportError: No module named pycurl
C:\gb\lorien-grab-0.3>python setup.py install
running install
running bdist_egg
running egg_info
writing grab.egg-info\PKG-INFO
writing top-level names to grab.egg-info\top_level.txt
writing dependency_links to grab.egg-info\dependency_links.txt
reading manifest file 'grab.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'grab.egg-info\SOURCES.txt'
installing library code to build\bdist.win32\egg
running install_lib
running build_py
creating build\bdist.win32\egg
creating build\bdist.win32\egg\grab
creating build\bdist.win32\egg\grab\ext
copying build\lib\grab\ext\django.py -> build\bdist.win32\egg\grab\ext
copying build\lib\grab\ext\lxml.py -> build\bdist.win32\egg\grab\ext
copying build\lib\grab\ext\lxml_form.py -> build\bdist.win32\egg\grab\ext
copying build\lib\grab\ext\pycurl.py -> build\bdist.win32\egg\grab\ext
copying build\lib\grab\ext\soup.py -> build\bdist.win32\egg\grab\ext
copying build\lib\grab\ext\text.py -> build\bdist.win32\egg\grab\ext
copying build\lib\grab\ext\urllib2.py -> build\bdist.win32\egg\grab\ext
copying build\lib\grab\ext\__init__.py -> build\bdist.win32\egg\grab\ext
copying build\lib\grab\form.py -> build\bdist.win32\egg\grab
copying build\lib\grab\grab.py -> build\bdist.win32\egg\grab
copying build\lib\grab\grab_old.py -> build\bdist.win32\egg\grab
copying build\lib\grab\html.py -> build\bdist.win32\egg\grab
copying build\lib\grab\response.py -> build\bdist.win32\egg\grab
copying build\lib\grab\user_agent.py -> build\bdist.win32\egg\grab
copying build\lib\grab\__init__.py -> build\bdist.win32\egg\grab
byte-compiling build\bdist.win32\egg\grab\ext\django.py to django.pyc
byte-compiling build\bdist.win32\egg\grab\ext\lxml.py to lxml.pyc
byte-compiling build\bdist.win32\egg\grab\ext\lxml_form.py to lxml_form.pyc
byte-compiling build\bdist.win32\egg\grab\ext\pycurl.py to pycurl.pyc
byte-compiling build\bdist.win32\egg\grab\ext\soup.py to soup.pyc
byte-compiling build\bdist.win32\egg\grab\ext\text.py to text.pyc
byte-compiling build\bdist.win32\egg\grab\ext\urllib2.py to urllib2.pyc
byte-compiling build\bdist.win32\egg\grab\ext\__init__.py to __init__.pyc
byte-compiling build\bdist.win32\egg\grab\form.py to form.pyc
byte-compiling build\bdist.win32\egg\grab\grab.py to grab.pyc
byte-compiling build\bdist.win32\egg\grab\grab_old.py to grab_old.pyc
byte-compiling build\bdist.win32\egg\grab\html.py to html.pyc
byte-compiling build\bdist.win32\egg\grab\response.py to response.pyc
byte-compiling build\bdist.win32\egg\grab\user_agent.py to user_agent.pyc
byte-compiling build\bdist.win32\egg\grab\__init__.py to __init__.pyc
creating build\bdist.win32\egg\EGG-INFO
copying grab.egg-info\PKG-INFO -> build\bdist.win32\egg\EGG-INFO
copying grab.egg-info\SOURCES.txt -> build\bdist.win32\egg\EGG-INFO
copying grab.egg-info\dependency_links.txt -> build\bdist.win32\egg\EGG-INFO
copying grab.egg-info\top_level.txt -> build\bdist.win32\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist\grab-0.2.20-py2.7.egg' and adding 'build\bdist.win32\egg' to it
removing 'build\bdist.win32\egg' (and everything under it)
Processing grab-0.2.20-py2.7.egg
Removing c:\python\lib\site-packages\grab-0.2.20-py2.7.egg
Copying grab-0.2.20-py2.7.egg to c:\python\lib\site-packages
grab 0.2.20 is already the active version in easy-install.pth
Installed c:\python\lib\site-packages\grab-0.2.20-py2.7.egg
Processing dependencies for grab==0.2.20
Finished processing dependencies for grab==0.2.20
Отредактировано (Окт. 14, 2011 10:51:16)
Офлайн
Ну английским же языком говорит что pycurl не найден - поставьте его
Офлайн
поставил pycurl …. после него повторно поставил граб. все равно его не видит, как в ручную библиотеку поставить можно?
Traceback (most recent call last):
File "C:/Python/1", line 2, in <module>
grab = Grab()
File "build\bdist.win32\egg\grab\grab.py", line 128, in __init__
mod = __import__(mod_path, globals(), locals(), ['foo'])
File "build\bdist.win32\egg\grab\ext\lxml.py", line 5, in <module>
ImportError: No module named lxml.html
Офлайн
У вас получилось все - но Grab'у нужен еще lxml
Офлайн
>_< это какая то русская матрёшка, лан спасибо, буду вкуривать дальше
Офлайн
Установите один раз easy_install и не мучайтесь.
После его установки в консоли cmd наберите:
easy_install нужный_пакет
Офлайн
sp3Сейчас же pip в ходу, не?
Установите один раз easy_install и не мучайтесь.
Офлайн
проблема у меня походу в криво настроенном setuptools'ё, ибо я его поставил не делая ни каких настроек. Нашел мануал по настройке, сижу вникаю http://pyobject.ru/blog/2006/12/21/cooking-python-eggs/
спс, дома по пробую easy_install
Офлайн
Большинство функций граб реализовано на базе библиотек lxml и pycurl их нужно обязательно ставить. Под виндой я бы рекомендовал ставить pycurl и lxml из exe-дистрибутивов. Год назад пробовал запускать скирпт с грабом на винде - именно так и ставил и у меня всё работало.
Офлайн
Здравствуйте!
Чтоб не создавать темы, подниму эту.
Поставил lxml и pycurl, поставил Граб, но не работает даже хрестоматийный пример из документации по грабу.
pycurl ставил этот: pycurl-7.19.3.1.win32-py3.3.exe, lxml тот который советуют в документации.
Код:
from grab import Grab def _3(): g = Grab() g.go('ya.ru') print (g.xpath_text('//title')) _3()
python -u Test_4.py
Process started >>>
Traceback (most recent call last):
File "Test_4.py", line 23, in <module>
_3()
File "Test_4.py", line 19, in _3
g.go('ya.ru')
File "c:\Python33\lib\site-packages\grab-0.4.13-py3.3.egg\grab\base.py", line 356, in go
return self.request(url=url, **kwargs)
File "c:\Python33\lib\site-packages\grab-0.4.13-py3.3.egg\grab\base.py", line 431, in request
self.prepare_request(**kwargs)
File "c:\Python33\lib\site-packages\grab-0.4.13-py3.3.egg\grab\base.py", line 384, in prepare_request
self.transport.process_config(self)
File "c:\Python33\lib\site-packages\grab-0.4.13-py3.3.egg\grab\transport\curl.py", line 350, in process_config
raise error.GrabMisuseError('You can not use gzip encoding because '\
grab.error.GrabMisuseError: You can not use gzip encoding because pycurl was built without zlib support
<<< Process finished. (Exit code 1)
================ READY ================
Отредактировано Alex_HH (Март 13, 2014 18:00:15)
Офлайн