Scrapy框架实现爬虫

实战中的遇到的问题总结:

1.

解决方法:

只需要在print前面加tab键就可以了,即:后面需要缩进。

 

2.在win7下运行response.xpath报错的解决方法

解决方法:

将‘’单引号改成双引号“”

问题解决

 

3.在win7中的scrapy shell中使用变量调试

去除换行符:

去除空格:

查看变量datas

此时我们打印一下列表中的每一项看看

 

4.在win7下执行scrapy shell http://192.168.11.85:5000/search?keywords=&content_search_by=by_bugs

发现参数丢失:

解决方法:

scrapy shell "http://192.168.11.85:5000/search?keywords=&content_search_by=by_bugs"  用双引号括起来

 

5.在运行scrapy项目过程中SyntaxError: Non-ASCII character '\xe5' in file F:\codebyjeffrey\PYTEST\tet1.py on line 5, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

解决方法:源代码文件第一行添加:#coding:utf-8,这样就可以避免了。
错误主要是由于python2的编码默认是ASCII,你的文件里有中文就必须要用utf-8编码,只要在文件需要在文件开头标注

 

6.在运行scrapy crawl books的过程中提示IndentationError: unexpected indent

解决办法:

python是一种对缩进非常敏感的语言,最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。

 

【问题】
一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误:
IndentationError: unindent does not match any outer indentation level

 

【解决过程】
1.对于此错误,最常见的原因是,的确没有对齐。但是我根据错误提示的行数,去代码中看了下,没啥问题啊。
都是用TAB键,对齐好了的,没有不对齐的行数啊。
2.以为是前面的注释的内容影响后面的语句的语法了,所以把前面的注释也删除了。
结果还是此语法错误。
3.后来折腾了半天,突然想到了,把当前python脚本的所有字符都显示出来看看有没有啥特殊的字符。

问题现象:

Notepad++,好像有个设置,可以显示所有的字符的。
找到了,在:
视图 -> 显示符号 -> 显示空格与制表符

说明确实存在制表符或者tab键

删除制表符或者tab键即可解决问题

http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/

http://www.crifan.com/tutorial_python_indent/

posted @ 2016-12-20 22:04  Agoly  阅读(487)  评论(0编辑  收藏  举报