开发者

Why do I get so many warnings and some errors when using IMDbPY?

I'm using IMDbPY to retrieve data from IMDb. I'm getting the right results and everything looks OK except one thing: No matter what I do, I get warnings. The results are fine, but they appear only after a long list of warnings and sometimes errors.

For example: The following code is supposed to print Resevior Dogs (1992):

import imdb
db = imdb.IMDb()
movie_obj = db.search_movie('pulp fiction')[0]
db.update(movie_obj)
print movie_obj['long imdb canonical title']

It does so, but not before the following warnings and error:

2011-03-18 00:33:11,490 WARNING [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:459: unable to use "lxml": No module named lxml.html
2011-03-18 00:33:11,507 WARNING [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:450: falling back to "beautifulsoup"
2011-03-18 00:33:13,483 WARNING [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:459: unable to use "lxml": No module named lxml.html
2011-03-18 00:33:13,483 WARNING [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:450: falling back to "beautifulsoup"
2011-03-18 00:33:15,137 ERROR [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:566: DOMHTMLMovieParser: caught exception extracting XPath "//div[@id='tn15title']//span[starts-with(text(), 'TV series')]"
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\imdb\parser\http\utils.py", line 555, in xpath
    xpath_result = element.xpath(path)
  File "C:\Python27\lib\site-packages\imdb\parser\http\bsouplxml\etree.py", line 57, in xpath
    return path.apply(node)
  File "C:\Python27\lib\site-packages\imdb\parser\http\bsouplxml\bsoupxpath.py", line 113, in apply
    nodes = step.apply(nodes)
  File "C:\Python27\lib\site-packages\imdb\parser\http\bsouplxml\bsoupxpath.py", line 287, in apply
    found = filter(checker, found)
  File "C:\Python27\lib\site-packages\imdb\parser\http\bsouplxml\bsoupxpath.py", line 331,开发者_高级运维 in __call__
    return self.__filter(node)
  File "C:\Python27\lib\site-packages\imdb\parser\http\bsouplxml\bsoupxpath.py", line 360, in __starts_with
    first = node.contents[0]
IndexError: list index out of range
2011-03-18 00:33:16,785 WARNING [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:459: unable to use "lxml": No module named lxml.html
2011-03-18 00:33:16,785 WARNING [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:450: falling back to "beautifulsoup"
2011-03-18 00:33:16,849 WARNING [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:459: unable to use "lxml": No module named lxml.html
2011-03-18 00:33:16,849 WARNING [imdbpy.parser.http.domparser] C:\Python27\lib\site-packages\imdb\parser\http\utils.py:450: falling back to "beautifulsoup"

Why do I get this? Am I doing something wrong?


Well, this is pretty self-explanatory:

unable to use "lxml": No module named lxml.html

Can you do this to check if the module exists?

  1. In Terminal or Command Prompt, run python.
  2. Post the output of the first line (e.g. Python 2.6.6 (r266...).
  3. In the shell, type in import lxml.
  4. Next, try import lxml.html.

For me, this is what happens:

blender@desktop:~$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import lxml
>>> import lxml.html
>>> 

I have the module installed, so I don't get any output (it imported successfully).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜